Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Unified Diff: gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.cc

Issue 2170933002: gpu, cmaa: avoid == for float in GLSL (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.cc
diff --git a/gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.cc b/gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.cc
index 500dd09da382745d84b9277ce452b3c2c1935608..b24c50e53282fc08c78d9c2d5d9e533d306030bc 100644
--- a/gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.cc
+++ b/gpu/command_buffer/service/gles2_cmd_apply_framebuffer_attachment_cmaa_intel.cc
@@ -1503,12 +1503,11 @@ const char ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s2_[] =
uint packedEdgesC = packedEdgesArray[(1 + _x) * 4 + (1 + _y)];
uvec4 edges = UnpackEdge(packedEdgesC);
- vec4 edgesFlt = vec4(edges);
-
- float numberOfEdges = dot(edgesFlt, vec4(1, 1, 1, 1));
- if (numberOfEdges <= 1.0)
+ uint numberOfEdges = edges.x + edges.y + edges.z + edges.w;
+ if (numberOfEdges <= 1u)
continue;
+ vec4 edgesFlt = vec4(edges);
float fromRight = edgesFlt.r;
float fromAbove = edgesFlt.g;
float fromLeft = edgesFlt.b;
@@ -1531,7 +1530,7 @@ const char ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s2_[] =
// the current pixel's colour in return.
// However, in the case when this is an actual corner, the pixel's
// colour will be partially overwritten by it's 2 neighbours.
- if( numberOfEdges == 2.0 )
+ if (numberOfEdges == 2u)
{
// with value of 0.15, the pixel will retain approx 77% of its
// colour and the remaining 23% will come from its 2 neighbours
@@ -1602,7 +1601,7 @@ const char ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s2_[] =
}
// 2.) U-like shape (surrounded with edges from 3 sides)
- if (numberOfEdges == 3.0) {
+ if (numberOfEdges == 3u) {
// with value of 0.13, the pixel will retain approx 72% of its
// colour and the remaining 28% will be picked from its 3
// neighbours (which are unlikely to be blurred too but could be)
@@ -1610,7 +1609,7 @@ const char ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s2_[] =
}
// 3.) Completely surrounded with edges from all 4 sides
- if (numberOfEdges == 4.0) {
+ if (numberOfEdges == 4u) {
// with value of 0.07, the pixel will retain 78% of its colour
// and the remaining 22% will come from its 4 neighbours (which
// are unlikely to be blurred)
@@ -1670,11 +1669,11 @@ const char ApplyFramebufferAttachmentCMAAINTELResourceManager::cmaa_frag_s2_[] =
\n#ifdef DEBUG_OUTPUT_AAINFO\n
imageStore(g_resultTextureSlot2, screenPosI.xy,
- PackBlurAAInfo(screenPosI.xy, uint(numberOfEdges)));
+ PackBlurAAInfo(screenPosI.xy, numberOfEdges));
\n#endif\n
imageStore(g_resultTextureFlt4Slot1, screenPosI.xy, color);
- if (numberOfEdges == 2.0) {
+ if (numberOfEdges == 2u) {
uint packedEdgesL = packedEdgesArray[(0 + _x) * 4 + (1 + _y)];
uint packedEdgesB = packedEdgesArray[(1 + _x) * 4 + (0 + _y)];
uint packedEdgesR = packedEdgesArray[(2 + _x) * 4 + (1 + _y)];
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698