diff options
author | Stéphane Marchesin <[email protected]> | 2011-12-15 10:59:26 -0800 |
---|---|---|
committer | Stéphane Marchesin <[email protected]> | 2011-12-19 18:24:39 -0800 |
commit | 9c76ba04f845077d51912cc11970232cc9160294 (patch) | |
tree | c50f03cb69857fe4f0c79dbe75b56a9738b0884d | |
parent | 37d24a70daa41bbad9c7a85dd432f561a172e858 (diff) |
i915g: Put the templates at the beggining of the structures.
Seriously. This fixes fragment-and-vertex-texturing in piglit and probably
a boatload of other stuff.
-rw-r--r-- | src/gallium/drivers/i915/i915_context.h | 6 | ||||
-rw-r--r-- | src/gallium/drivers/i915/i915_state.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/gallium/drivers/i915/i915_context.h b/src/gallium/drivers/i915/i915_context.h index 7406b7e812f..bb1b3b1608a 100644 --- a/src/gallium/drivers/i915/i915_context.h +++ b/src/gallium/drivers/i915/i915_context.h @@ -188,6 +188,8 @@ struct i915_depth_stencil_state { }; struct i915_rasterizer_state { + struct pipe_rasterizer_state templ; + unsigned light_twoside : 1; unsigned st; enum interp_mode color_interp; @@ -196,14 +198,12 @@ struct i915_rasterizer_state { unsigned LIS7; unsigned sc[1]; - struct pipe_rasterizer_state templ; - union { float f; unsigned u; } ds[2]; }; struct i915_sampler_state { + const struct pipe_sampler_state templ; unsigned state[3]; - const struct pipe_sampler_state *templ; unsigned minlod; unsigned maxlod; }; diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index bb4089e2105..fc0c8685560 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -223,12 +223,12 @@ i915_create_sampler_state(struct pipe_context *pipe, unsigned minFilt, magFilt; unsigned mipFilt; - cso->templ = sampler; + memcpy(&cso->templ, sampler, sizeof(struct pipe_sampler_state)); mipFilt = translate_mip_filter(sampler->min_mip_filter); minFilt = translate_img_filter( sampler->min_img_filter ); magFilt = translate_img_filter( sampler->mag_img_filter ); - + if (sampler->max_anisotropy > 1) minFilt = magFilt = FILTER_ANISOTROPIC; |