diff options
| author | 2022-12-27 21:39:46 -0500 | |
|---|---|---|
| committer | 2023-01-03 16:29:25 -0500 | |
| commit | a045e860dd63a46c1f44d343007d772e6da6b037 (patch) | |
| tree | 7c910d74f74aa48858a1d4012d543946516cc554 /src/video_core/shader_environment.cpp | |
| parent | Vulkan: rework stencil tracking. (diff) | |
| download | yuzu-a045e860dd63a46c1f44d343007d772e6da6b037.tar.gz yuzu-a045e860dd63a46c1f44d343007d772e6da6b037.tar.xz yuzu-a045e860dd63a46c1f44d343007d772e6da6b037.zip | |
ShaderCompiler: Inline driver specific constants.
Diffstat (limited to 'src/video_core/shader_environment.cpp')
| -rw-r--r-- | src/video_core/shader_environment.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/video_core/shader_environment.cpp b/src/video_core/shader_environment.cpp index 99d85bfb3..c34728245 100644 --- a/src/video_core/shader_environment.cpp +++ b/src/video_core/shader_environment.cpp | |||
| @@ -325,6 +325,7 @@ GraphicsEnvironment::GraphicsEnvironment(Tegra::Engines::Maxwell3D& maxwell3d_, | |||
| 325 | ASSERT(local_size <= std::numeric_limits<u32>::max()); | 325 | ASSERT(local_size <= std::numeric_limits<u32>::max()); |
| 326 | local_memory_size = static_cast<u32>(local_size) + sph.common3.shader_local_memory_crs_size; | 326 | local_memory_size = static_cast<u32>(local_size) + sph.common3.shader_local_memory_crs_size; |
| 327 | texture_bound = maxwell3d->regs.bindless_texture_const_buffer_slot; | 327 | texture_bound = maxwell3d->regs.bindless_texture_const_buffer_slot; |
| 328 | is_propietary_driver = texture_bound == 2; | ||
| 328 | has_hle_engine_state = | 329 | has_hle_engine_state = |
| 329 | maxwell3d->engine_state == Tegra::Engines::Maxwell3D::EngineHint::OnHLEMacro; | 330 | maxwell3d->engine_state == Tegra::Engines::Maxwell3D::EngineHint::OnHLEMacro; |
| 330 | } | 331 | } |
| @@ -399,6 +400,7 @@ ComputeEnvironment::ComputeEnvironment(Tegra::Engines::KeplerCompute& kepler_com | |||
| 399 | stage = Shader::Stage::Compute; | 400 | stage = Shader::Stage::Compute; |
| 400 | local_memory_size = qmd.local_pos_alloc + qmd.local_crs_alloc; | 401 | local_memory_size = qmd.local_pos_alloc + qmd.local_crs_alloc; |
| 401 | texture_bound = kepler_compute->regs.tex_cb_index; | 402 | texture_bound = kepler_compute->regs.tex_cb_index; |
| 403 | is_propietary_driver = texture_bound == 2; | ||
| 402 | shared_memory_size = qmd.shared_alloc; | 404 | shared_memory_size = qmd.shared_alloc; |
| 403 | workgroup_size = {qmd.block_dim_x, qmd.block_dim_y, qmd.block_dim_z}; | 405 | workgroup_size = {qmd.block_dim_x, qmd.block_dim_y, qmd.block_dim_z}; |
| 404 | } | 406 | } |
| @@ -498,6 +500,7 @@ void FileEnvironment::Deserialize(std::ifstream& file) { | |||
| 498 | file.read(reinterpret_cast<char*>(&gp_passthrough_mask), sizeof(gp_passthrough_mask)); | 500 | file.read(reinterpret_cast<char*>(&gp_passthrough_mask), sizeof(gp_passthrough_mask)); |
| 499 | } | 501 | } |
| 500 | } | 502 | } |
| 503 | is_propietary_driver = texture_bound == 2; | ||
| 501 | } | 504 | } |
| 502 | 505 | ||
| 503 | void FileEnvironment::Dump(u64 hash) { | 506 | void FileEnvironment::Dump(u64 hash) { |