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.
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user