summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/PixelShaderGen.cpp
diff options
context:
space:
mode:
authorTellowKrinkle <tellowkrinkle@gmail.com>2022-06-16 17:26:30 -0500
committerTellowKrinkle <tellowkrinkle@gmail.com>2022-06-16 20:26:11 -0500
commit26529a31ab97f2743fe1a7c52969079d7764bc6d (patch)
treea4d32074fef033c1b21e51288eb12125db63714c /Source/Core/VideoCommon/PixelShaderGen.cpp
parent431d757151f329780f99e606102f444787640d73 (diff)
VideoCommon: Fix SSBO layout and remove associated "bug"
Diffstat (limited to 'Source/Core/VideoCommon/PixelShaderGen.cpp')
-rw-r--r--Source/Core/VideoCommon/PixelShaderGen.cpp19
1 files changed, 3 insertions, 16 deletions
diff --git a/Source/Core/VideoCommon/PixelShaderGen.cpp b/Source/Core/VideoCommon/PixelShaderGen.cpp
index 4a9e9105a8..950763f5d8 100644
--- a/Source/Core/VideoCommon/PixelShaderGen.cpp
+++ b/Source/Core/VideoCommon/PixelShaderGen.cpp
@@ -464,22 +464,9 @@ void WritePixelShaderCommonHeader(ShaderCode& out, APIType api_type,
}
else
{
- out.Write("SSBO_BINDING(0) buffer BBox {{\n");
-
- if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_SSBO_FIELD_ATOMICS))
- {
- // AMD drivers on Windows seemingly ignore atomic writes to fields or array elements of an
- // SSBO other than the first one, but using an int4 seems to work fine
- out.Write(" int4 bbox_data;\n");
- }
- else
- {
- // The Metal shader compiler fails to compile the atomic instructions when operating on
- // individual components of a vector
- out.Write(" int bbox_data[4];\n");
- }
-
- out.Write("}};");
+ out.Write("SSBO_BINDING(0) buffer BBox {{\n"
+ " int bbox_data[4];\n"
+ "}};");
}
out.Write(R"(