summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_context.h
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2013-09-02 17:35:32 -0700
committerPaul Berry <stereotype441@gmail.com>2013-09-16 12:53:14 -0700
commit8c69eaba1a8a5e8a82112eb5c51b2f8978dd2c23 (patch)
tree784a9009c7933e9b64d777b4b872a559e0d01fbe /src/mesa/drivers/dri/i965/brw_context.h
parent58f01bd17d5587c21d7f543b8f3769f3405dc420 (diff)
downloadexternal_mesa3d-8c69eaba1a8a5e8a82112eb5c51b2f8978dd2c23.zip
external_mesa3d-8c69eaba1a8a5e8a82112eb5c51b2f8978dd2c23.tar.gz
external_mesa3d-8c69eaba1a8a5e8a82112eb5c51b2f8978dd2c23.tar.bz2
i965/fs: Change brw_wm_prog_data::urb_read_length to num_varying_inputs.
On gen4-5, the FS stage reads varying inputs from URB entries that were output by the SF thread, where each register stores the interpolation setup for two components of a vec4, therefore the FS urb_read_length is twice the number of FS input varyings. On gen6+, varying inputs are directly deposited in the FS payload by the SF/SBE fixed function logic, so urb_read_length is irrelevant. However, in future patches, it will be nice to be able to consult brw_wm_prog_data to determine how many varying inputs the FS expects (rather than inferring it from gl_program::InputsRead). So instead of storing urb_read_length, we simply store num_varying_inputs in brw_wm_prog_data. On gen4-5, we multiply this by 2 to recover the URB read length. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_context.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
index 988e9fb..b9c9f50 100644
--- a/src/mesa/drivers/dri/i965/brw_context.h
+++ b/src/mesa/drivers/dri/i965/brw_context.h
@@ -314,7 +314,7 @@ struct brw_shader {
*/
struct brw_wm_prog_data {
GLuint curb_read_length;
- GLuint urb_read_length;
+ GLuint num_varying_inputs;
GLuint first_curbe_grf;
GLuint first_curbe_grf_16;