diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2015-11-10 14:35:27 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2015-12-22 02:12:05 -0800 |
commit | a5038427c3624e559f954124d77304f9ae9b884c (patch) | |
tree | f3ed042e5999da82c91696a9f0ea9d6c2b0c82a2 /src/mesa/drivers/dri/i965/brw_program.h | |
parent | 54daffef167974989368b4c1f9657d878a9e2411 (diff) | |
download | external_mesa3d-a5038427c3624e559f954124d77304f9ae9b884c.zip external_mesa3d-a5038427c3624e559f954124d77304f9ae9b884c.tar.gz external_mesa3d-a5038427c3624e559f954124d77304f9ae9b884c.tar.bz2 |
i965: Add tessellation evaluation shaders
The TES is essentially a post-tessellator VS, which has access to the
entire TCS output patch, and a special gl_TessCoord input. Otherwise,
they're very straightforward.
This patch implements SIMD8 tessellation evaluation shaders for Gen8+.
The tessellator can generate a lot of geometry, so operating in SIMD8
mode (8 vertices per thread) is more efficient than SIMD4x2 mode (only
2 vertices per thread). I have another patch which implements SIMD4x2
mode for older hardware (or via an environment variable override).
We currently handle all inputs via the pull model.
v2: Improve comments (suggested by Jordan Justen).
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_program.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_program.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_program.h b/src/mesa/drivers/dri/i965/brw_program.h index 339b8e1..1cdab97 100644 --- a/src/mesa/drivers/dri/i965/brw_program.h +++ b/src/mesa/drivers/dri/i965/brw_program.h @@ -56,6 +56,8 @@ void brw_dump_ir(const char *stage, struct gl_shader_program *shader_prog, struct gl_shader *shader, struct gl_program *prog); +void brw_upload_tes_prog(struct brw_context *brw); + #ifdef __cplusplus } /* extern "C" */ #endif |