Browse Source

Update src/shader_recompiler/backend/spirv/spirv_emit_context.cpp

swapped pixelformat to vk_format since runtime_info.color_formats contains vulkan format values as opposed to pixel format values.
pull/3279/head
chrelliott978 4 weeks ago
committed by crueter
parent
commit
ecc3d46efd
  1. 40
      src/shader_recompiler/backend/spirv/spirv_emit_context.cpp

40
src/shader_recompiler/backend/spirv/spirv_emit_context.cpp

@ -1667,26 +1667,26 @@ void EmitContext::DefineOutputs(const IR::Program& program) {
const auto& format = runtime_info.color_formats[index];
// Check if the render target format is an integer format
const bool is_integer_format = (
format == PixelFormat::R8_UINT ||
format == PixelFormat::R8_SINT ||
format == PixelFormat::R16_UINT ||
format == PixelFormat::R16_SINT ||
format == PixelFormat::R32_UINT ||
format == PixelFormat::R32_SINT ||
format == PixelFormat::R8G8_UINT ||
format == PixelFormat::R8G8_SINT ||
format == PixelFormat::R16G16_UINT ||
format == PixelFormat::R16G16_SINT ||
format == PixelFormat::R32G32_UINT ||
format == PixelFormat::R32G32_SINT ||
format == PixelFormat::R8G8B8A8_UINT ||
format == PixelFormat::R8G8B8A8_SINT ||
format == PixelFormat::R16G16B16A16_UINT ||
format == PixelFormat::R16G16B16A16_SINT ||
format == PixelFormat::R32G32B32A32_UINT ||
format == PixelFormat::R32G32B32A32_SINT ||
format == PixelFormat::A8B8G8R8_UINT ||
format == PixelFormat::A8B8G8R8_SINT
format == VK_FORMAT_R8_UINT ||
format == VK_FORMAT_R8_SINT ||
format == VK_FORMAT_R16_UINT ||
format == VK_FORMAT_R16_SINT ||
format == VK_FORMAT_R32_UINT ||
format == VK_FORMAT_R32_SINT ||
format == VK_FORMAT_R8G8_UINT ||
format == VK_FORMAT_R8G8_SINT ||
format == VK_FORMAT_R16G16_UINT ||
format == VK_FORMAT_R16G16_SINT ||
format == VK_FORMAT_R32G32_UINT ||
format == VK_FORMAT_R32G32_SINT ||
format == VK_FORMAT_R8G8B8A8_UINT ||
format == VK_FORMAT_R8G8B8A8_SINT ||
format == VK_FORMAT_R16G16B16A16_UINT ||
format == VK_FORMAT_R16G16B16A16_SINT ||
format == VK_FORMAT_R32G32B32A32_UINT ||
format == VK_FORMAT_R32G32B32A32_SINT ||
format == VK_FORMAT_A8B8G8R8_UINT_PACK32 ||
format == VK_FORMAT_A8B8G8R8_SINT_PACK32
);
if (is_integer_format) {
output_type = U32[4]; // Use unsigned int vec4 for integer formats

Loading…
Cancel
Save