-
Zebediah Figura authored
The idea is to reuse the existing code to handle SRVs, which simplifies the GL code and essentially allows the Vulkan code to work "for free" (which is to say, by writing this patch, rather than by adding support for flat textures to the Vulkan renderer.) This is a large patch; it consists the following parts: * Create identity SRVs for d3d 1-9 textures. Store those in state->shader_resource_view instead of in state->texture. * (Re)use wined3d_context_gl_bind_shader_resources() instead of state_sampler() to bind them. - Introduce code to that function to handle FFP textures. - Bind the sRGB texture if necessary in wined3d_shader_resource_view_gl_bind. * (Re)use context_gl_load_shader_resources() instead of context_preload_textures() to load them. - Introduce code to that function to handle FFP textures. - Load the sRGB texture if necessary. - Port the SRV/RTV feedback loop check from context_preload_textures(). * Invalidate STATE_GRAPHICS_SHADER_RESOURCE_BINDING in places that now need to account for texture binding being guarded by that state instead of STATE_SAMPLER. Transitioning the remaining users of STATE_SAMPLER to STATE_GRAPHICS_SHADER_RESOURCE_BINDING, and removing STATE_SAMPLER, is left for future patches.
5b60f464