summaryrefslogtreecommitdiffstats
path: root/gpu/GLES2
diff options
context:
space:
mode:
authorkkinnunen <kkinnunen@nvidia.com>2015-11-23 23:06:36 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-24 07:07:12 +0000
commit32956ea104eb269f7dd4c7a00d05d9663f538fa8 (patch)
tree340e632ac033a611b4690a66fec1d9077faaa74e /gpu/GLES2
parentfbada2c0dfa76e3cad57432dc72fc033aa331b50 (diff)
downloadchromium_src-32956ea104eb269f7dd4c7a00d05d9663f538fa8.zip
chromium_src-32956ea104eb269f7dd4c7a00d05d9663f538fa8.tar.gz
chromium_src-32956ea104eb269f7dd4c7a00d05d9663f538fa8.tar.bz2
command_buffer: Make inactive bound fragment inputs reserve the location
Specifying fragment input values with locations bound with CHROMIUM_path_rendering should work, regardless whether the underlying driver optimized the variable away or not. Fixes the case where updating an inactive fragment input would cause INVALID_OPERATION, because the location was empty. Fixes the case where updating an fragment input would cause wrong fragment input to be updated, if the fragment input was inactive and bound to a location that would be assigned to an unbound fragment input. Makes the Program::fragment_input_infos_ array linear (non-sparse). The location bindings are now handled with Program::fragment_input_locations_ sparse array. BUG=542355 Review URL: https://codereview.chromium.org/1415763009 Cr-Commit-Position: refs/heads/master@{#361266}
Diffstat (limited to 'gpu/GLES2')
-rw-r--r--gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt3
1 files changed, 2 insertions, 1 deletions
diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt
index a8af396..74f7632 100644
--- a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt
+++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_path_rendering.txt
@@ -1027,7 +1027,8 @@ New Procedures and Functions
attached to a program object. Hence it is allowed to bind any name (except
a name starting with "gl_") to an index, including a name that is never used
as a varying in the fragment shader object. Assigned bindings for varying
- variables that do not exist or are not active are ignored.
+ variables that do not exist or are not active are ignored. Using such bindings
+ behaves as if passed location was -1.
It is possible for an application to bind more than one fragment
input name to the same location. This is referred to as aliasing.