diff options
Diffstat (limited to 'src/shader_recompiler/ir_opt/texture_pass.cpp')
| -rw-r--r-- | src/shader_recompiler/ir_opt/texture_pass.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/shader_recompiler/ir_opt/texture_pass.cpp b/src/shader_recompiler/ir_opt/texture_pass.cpp index 9718c6921..14496b911 100644 --- a/src/shader_recompiler/ir_opt/texture_pass.cpp +++ b/src/shader_recompiler/ir_opt/texture_pass.cpp | |||
| @@ -386,8 +386,10 @@ public: | |||
| 386 | return Add(texture_buffer_descriptors, desc, [&desc](const auto& existing) { | 386 | return Add(texture_buffer_descriptors, desc, [&desc](const auto& existing) { |
| 387 | return desc.cbuf_index == existing.cbuf_index && | 387 | return desc.cbuf_index == existing.cbuf_index && |
| 388 | desc.cbuf_offset == existing.cbuf_offset && | 388 | desc.cbuf_offset == existing.cbuf_offset && |
| 389 | desc.shift_left == existing.shift_left && | ||
| 389 | desc.secondary_cbuf_index == existing.secondary_cbuf_index && | 390 | desc.secondary_cbuf_index == existing.secondary_cbuf_index && |
| 390 | desc.secondary_cbuf_offset == existing.secondary_cbuf_offset && | 391 | desc.secondary_cbuf_offset == existing.secondary_cbuf_offset && |
| 392 | desc.secondary_shift_left == existing.secondary_shift_left && | ||
| 391 | desc.count == existing.count && desc.size_shift == existing.size_shift && | 393 | desc.count == existing.count && desc.size_shift == existing.size_shift && |
| 392 | desc.has_secondary == existing.has_secondary; | 394 | desc.has_secondary == existing.has_secondary; |
| 393 | }); | 395 | }); |
| @@ -405,15 +407,20 @@ public: | |||
| 405 | } | 407 | } |
| 406 | 408 | ||
| 407 | u32 Add(const TextureDescriptor& desc) { | 409 | u32 Add(const TextureDescriptor& desc) { |
| 408 | return Add(texture_descriptors, desc, [&desc](const auto& existing) { | 410 | const u32 index{Add(texture_descriptors, desc, [&desc](const auto& existing) { |
| 409 | return desc.type == existing.type && desc.is_depth == existing.is_depth && | 411 | return desc.type == existing.type && desc.is_depth == existing.is_depth && |
| 410 | desc.has_secondary == existing.has_secondary && | 412 | desc.has_secondary == existing.has_secondary && |
| 411 | desc.cbuf_index == existing.cbuf_index && | 413 | desc.cbuf_index == existing.cbuf_index && |
| 412 | desc.cbuf_offset == existing.cbuf_offset && | 414 | desc.cbuf_offset == existing.cbuf_offset && |
| 415 | desc.shift_left == existing.shift_left && | ||
| 413 | desc.secondary_cbuf_index == existing.secondary_cbuf_index && | 416 | desc.secondary_cbuf_index == existing.secondary_cbuf_index && |
| 414 | desc.secondary_cbuf_offset == existing.secondary_cbuf_offset && | 417 | desc.secondary_cbuf_offset == existing.secondary_cbuf_offset && |
| 418 | desc.secondary_shift_left == existing.secondary_shift_left && | ||
| 415 | desc.count == existing.count && desc.size_shift == existing.size_shift; | 419 | desc.count == existing.count && desc.size_shift == existing.size_shift; |
| 416 | }); | 420 | })}; |
| 421 | // TODO: Read this from TIC | ||
| 422 | texture_descriptors[index].is_multisample |= desc.is_multisample; | ||
| 423 | return index; | ||
| 417 | } | 424 | } |
| 418 | 425 | ||
| 419 | u32 Add(const ImageDescriptor& desc) { | 426 | u32 Add(const ImageDescriptor& desc) { |