Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b51fda1b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Invalidate Skia shader cache if Vulkan driver has changed"

parents a8a14d4b bf99c445
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -209,8 +209,8 @@ void RenderThread::requireVkContext() {
    mVkManager->initialize();
    GrContextOptions options;
    initGrContextOptions(options);
    // TODO: get a string describing the SPIR-V compiler version and use it here
    cacheManager().configureContext(&options, nullptr, 0);
    auto vkDriverVersion = mVkManager->getDriverVersion();
    cacheManager().configureContext(&options, &vkDriverVersion, sizeof(vkDriverVersion));
    sk_sp<GrContext> grContext = mVkManager->createContext(options);
    LOG_ALWAYS_FATAL_IF(!grContext.get());
    setGrContext(grContext);
+1 −0
Original line number Diff line number Diff line
@@ -170,6 +170,7 @@ void VulkanManager::setupDevice(GrVkExtensions& grExtensions, VkPhysicalDeviceFe
    VkPhysicalDeviceProperties physDeviceProperties;
    mGetPhysicalDeviceProperties(mPhysicalDevice, &physDeviceProperties);
    LOG_ALWAYS_FATAL_IF(physDeviceProperties.apiVersion < VK_MAKE_VERSION(1, 1, 0));
    mDriverVersion = physDeviceProperties.driverVersion;

    // query to get the initial queue props size
    uint32_t queueCount;
+3 −0
Original line number Diff line number Diff line
@@ -82,6 +82,8 @@ public:

    sk_sp<GrContext> createContext(const GrContextOptions& options);

    uint32_t getDriverVersion() const { return mDriverVersion; }

private:
    friend class VulkanSurface;
    // Sets up the VkInstance and VkDevice objects. Also fills out the passed in
@@ -178,6 +180,7 @@ private:
    };
    SwapBehavior mSwapBehavior = SwapBehavior::Discard;
    GrVkExtensions mExtensions;
    uint32_t mDriverVersion = 0;
};

} /* namespace renderthread */