summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorStéphane Marchesin <[email protected]>2011-12-15 10:59:26 -0800
committerStéphane Marchesin <[email protected]>2011-12-19 18:24:39 -0800
commit9c76ba04f845077d51912cc11970232cc9160294 (patch)
treec50f03cb69857fe4f0c79dbe75b56a9738b0884d /src/gallium
parent37d24a70daa41bbad9c7a85dd432f561a172e858 (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.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/i915/i915_context.h6
-rw-r--r--src/gallium/drivers/i915/i915_state.c4
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;