summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;