diff options
author | Brian Paul <[email protected]> | 2009-03-31 16:56:55 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-04-03 09:07:04 -0600 |
commit | 8c093a1fb0843e152d2a515c5127ccd5999b0d94 (patch) | |
tree | c6bd6b69befc542f0725d080fe482f0dc0cdc9ba /src/mesa/drivers/dri/i965 | |
parent | a9c62a2340794977a87cba4a352c02fc16f81505 (diff) |
i965: code to setup a constant buffer sampler
This code won't actually be used and will be removed in a subsequent commit.
Just committing for posterity.
Diffstat (limited to 'src/mesa/drivers/dri/i965')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm_sampler_state.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c index 68a9296a713..e13eb28011b 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c @@ -217,6 +217,45 @@ static void brw_update_sampler_state(struct wm_sampler_entry *key, sampler->ss2.default_color_pointer = sdc_bo->offset >> 5; /* reloc */ } + +#if 0 +/** + * Setup the sampler state for the "constant buffer texture". + * The constant buffer texture is basically a 1D float[4] texture whose + * width == the number of program parameters/constants. + */ +static void +brwm_wm_setup_constant_sampler(struct brw_context *brw, + struct wm_sampler_key *key) +{ + static const GLfloat black[4] = {0.0F, 0.0F, 0.0F, 0.0F}; + const GLuint unit = BRW_MAX_TEX_UNIT - 1; + struct wm_sampler_entry *entry = &key->sampler[unit]; + + entry->tex_target = GL_TEXTURE_1D; + + entry->wrap_r = GL_CLAMP_TO_EDGE; + entry->wrap_s = GL_CLAMP_TO_EDGE; + entry->wrap_t = GL_CLAMP_TO_EDGE; + + entry->maxlod = 0.0F; + entry->minlod = 0.0F; + entry->lod_bias = 0.0F; + entry->max_aniso = 0.0F; + entry->minfilter = GL_NEAREST; + entry->magfilter = GL_NEAREST; + entry->comparemode = GL_NONE; + entry->comparefunc = GL_ALWAYS; + + dri_bo_unreference(brw->wm.sdc_bo[unit]); + + brw->wm.sdc_bo[unit] = upload_default_color(brw, black); + + key->sampler_count = unit + 1; +} +#endif + + /** Sets up the cache key for sampler state for all texture units */ static void brw_wm_sampler_populate_key(struct brw_context *brw, @@ -271,6 +310,10 @@ brw_wm_sampler_populate_key(struct brw_context *brw, key->sampler_count = unit + 1; } } + +#if 0 + brwm_wm_setup_constant_sampler(brw, key); +#endif } /* All samplers must be uploaded in a single contiguous array, which |