diff options
author | Kenneth Graunke <[email protected]> | 2012-11-16 14:52:01 -0800 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2013-01-15 13:34:00 -0800 |
commit | f3db20da1a04fd64732c62631d59aac801a1a59d (patch) | |
tree | 7814346b7e188dc95762b4c113ae2747c8599f59 /src/mesa/state_tracker/st_cache.h | |
parent | d9d857e24fef2ae5576523b861f46c426b94ba0d (diff) |
mesa: Rework crazy error code rules in glDrawBuffers().
Perhaps most importantly, this patch adds comments quoting the relevant
spec paragraphs above each error condition.
It also makes three changes:
- For FBOs, GL_COLOR_ATTACHMENTm where m >= MaxDrawBuffers is supposed
to generate INVALID_OPERATION (not INVALID_ENUM).
- Constants that refer to multiple buffers (such as FRONT, BACK, LEFT,
RIGHT, and FRONT_AND_BACK) are supposed to generate INVALID_OPERATION,
not INVALID_ENUM.
- In ES 3.0, for FBOs, buffers[i] must be NONE or GL_COLOR_ATTACHMENTi
or else INVALID_OPERATION occurs. (This is a new restriction.)
Fixes es3conform's draw-buffers-api test.
v2: The error path was missing a "return" like all the other error
paths. Also, we may as well call it glDrawBuffers in the error message
since the ARB suffix doesn't exist in ES 3.
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_cache.h')
0 files changed, 0 insertions, 0 deletions