Browse Source
Merge pull request #8837 from Morph1984/invalidate
(shader/pipeline)_cache: Raise shader/pipeline cache version
pull/15/merge
bunnei
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with
9 additions and
12 deletions
-
src/shader_recompiler/ir_opt/texture_pass.cpp
-
src/video_core/renderer_opengl/gl_shader_cache.cpp
-
src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
-
src/video_core/shader_environment.cpp
|
|
|
@ -415,11 +415,11 @@ void TexturePass(Environment& env, IR::Program& program) { |
|
|
|
inst->SetFlags(flags); |
|
|
|
break; |
|
|
|
case IR::Opcode::ImageSampleImplicitLod: |
|
|
|
if (flags.type == TextureType::Color2D) { |
|
|
|
auto texture_type = ReadTextureType(env, cbuf); |
|
|
|
if (texture_type == TextureType::Color2DRect) { |
|
|
|
PatchImageSampleImplicitLod(*texture_inst.block, *texture_inst.inst); |
|
|
|
} |
|
|
|
if (flags.type != TextureType::Color2D) { |
|
|
|
break; |
|
|
|
} |
|
|
|
if (ReadTextureType(env, cbuf) == TextureType::Color2DRect) { |
|
|
|
PatchImageSampleImplicitLod(*texture_inst.block, *texture_inst.inst); |
|
|
|
} |
|
|
|
break; |
|
|
|
case IR::Opcode::ImageFetch: |
|
|
|
|
|
|
|
@ -49,7 +49,7 @@ using VideoCommon::LoadPipelines; |
|
|
|
using VideoCommon::SerializePipeline; |
|
|
|
using Context = ShaderContext::Context; |
|
|
|
|
|
|
|
constexpr u32 CACHE_VERSION = 5; |
|
|
|
constexpr u32 CACHE_VERSION = 6; |
|
|
|
|
|
|
|
template <typename Container> |
|
|
|
auto MakeSpan(Container& container) { |
|
|
|
|
|
|
|
@ -53,7 +53,7 @@ using VideoCommon::FileEnvironment; |
|
|
|
using VideoCommon::GenericEnvironment; |
|
|
|
using VideoCommon::GraphicsEnvironment; |
|
|
|
|
|
|
|
constexpr u32 CACHE_VERSION = 5; |
|
|
|
constexpr u32 CACHE_VERSION = 6; |
|
|
|
|
|
|
|
template <typename Container> |
|
|
|
auto MakeSpan(Container& container) { |
|
|
|
|
|
|
|
@ -39,11 +39,8 @@ static Shader::TextureType ConvertType(const Tegra::Texture::TICEntry& entry) { |
|
|
|
return Shader::TextureType::Color1D; |
|
|
|
case Tegra::Texture::TextureType::Texture2D: |
|
|
|
case Tegra::Texture::TextureType::Texture2DNoMipmap: |
|
|
|
if (entry.normalized_coords) { |
|
|
|
return Shader::TextureType::Color2D; |
|
|
|
} else { |
|
|
|
return Shader::TextureType::Color2DRect; |
|
|
|
} |
|
|
|
return entry.normalized_coords ? Shader::TextureType::Color2D |
|
|
|
: Shader::TextureType::Color2DRect; |
|
|
|
case Tegra::Texture::TextureType::Texture3D: |
|
|
|
return Shader::TextureType::Color3D; |
|
|
|
case Tegra::Texture::TextureType::TextureCubemap: |
|
|
|
|