diff options
| author | Stenzek <stenzek@gmail.com> | 2019-03-20 22:14:38 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2019-03-25 18:47:58 +1000 |
| commit | 16294acd2ae97fc7efa8e885fbfb83b834c7976d (patch) | |
| tree | f42cf8c30a3ae834615a5178eb13efd515e4fa80 /Source/Core/VideoCommon/UberShaderPixel.cpp | |
| parent | 20999db93cb755dfa8e05680c1edb409439d28ca (diff) | |
VideoBackends: Scale bounding box rectangle in the pixel shader
Diffstat (limited to 'Source/Core/VideoCommon/UberShaderPixel.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/UberShaderPixel.cpp | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/Source/Core/VideoCommon/UberShaderPixel.cpp b/Source/Core/VideoCommon/UberShaderPixel.cpp index 1b9695f5ce..097b6456bd 100644 --- a/Source/Core/VideoCommon/UberShaderPixel.cpp +++ b/Source/Core/VideoCommon/UberShaderPixel.cpp @@ -1250,24 +1250,9 @@ ShaderCode GenPixelShader(APIType ApiType, const ShaderHostConfig& host_config, if (bounding_box) { - out.Write(" if (bpmem_bounding_box) {\n"); - if (ApiType == APIType::D3D) - { - out.Write( - " if(bbox_data[0] > int(rawpos.x)) InterlockedMin(bbox_data[0], int(rawpos.x));\n" - " if(bbox_data[1] < int(rawpos.x)) InterlockedMax(bbox_data[1], int(rawpos.x));\n" - " if(bbox_data[2] > int(rawpos.y)) InterlockedMin(bbox_data[2], int(rawpos.y));\n" - " if(bbox_data[3] < int(rawpos.y)) InterlockedMax(bbox_data[3], int(rawpos.y));\n"); - } - else - { - out.Write("\tif(bbox_left > int(rawpos.x)) atomicMin(bbox_left, int(rawpos.x));\n" - "\tif(bbox_right < int(rawpos.x)) atomicMax(bbox_right, int(rawpos.x));\n" - "\tif(bbox_top > int(rawpos.y)) atomicMin(bbox_top, int(rawpos.y));\n" - "\tif(bbox_bottom < int(rawpos.y)) atomicMax(bbox_bottom, int(rawpos.y));\n"); - } - - out.Write(" }\n"); + out.Write(" if (bpmem_bounding_box) {\n" + " UpdateBoundingBox(rawpos.xy);\n" + " }\n"); } if (use_shader_blend) |
