mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-07 06:30:11 +01:00
i965/vec4: Update vec4 unit tests for commit 01dacc83ff.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94050 (cherry picked from commitc300559fbf) Fixes:9f2e22bf34"i965/vec4: don't copy ATTR into 3src instructions with complex swizzles" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94954 Nominated-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
parent
fd1e4331ee
commit
3eb4fd8891
3 changed files with 24 additions and 10 deletions
|
|
@ -40,6 +40,7 @@ public:
|
|||
struct gl_context *ctx;
|
||||
struct gl_shader_program *shader_prog;
|
||||
struct brw_vertex_program *vp;
|
||||
struct brw_vue_prog_data *prog_data;
|
||||
vec4_visitor *v;
|
||||
};
|
||||
|
||||
|
|
@ -47,9 +48,13 @@ class cmod_propagation_vec4_visitor : public vec4_visitor
|
|||
{
|
||||
public:
|
||||
cmod_propagation_vec4_visitor(struct brw_compiler *compiler,
|
||||
nir_shader *shader)
|
||||
: vec4_visitor(compiler, NULL, NULL, NULL, shader, NULL,
|
||||
false, -1) {}
|
||||
nir_shader *shader,
|
||||
struct brw_vue_prog_data *prog_data)
|
||||
: vec4_visitor(compiler, NULL, NULL, prog_data, shader, NULL,
|
||||
false, -1)
|
||||
{
|
||||
prog_data->dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
|
||||
}
|
||||
|
||||
protected:
|
||||
/* Dummy implementation for pure virtual methods */
|
||||
|
|
@ -96,13 +101,14 @@ void cmod_propagation_test::SetUp()
|
|||
ctx = (struct gl_context *)calloc(1, sizeof(*ctx));
|
||||
compiler = (struct brw_compiler *)calloc(1, sizeof(*compiler));
|
||||
devinfo = (struct brw_device_info *)calloc(1, sizeof(*devinfo));
|
||||
prog_data = (struct brw_vue_prog_data *)calloc(1, sizeof(*prog_data));
|
||||
compiler->devinfo = devinfo;
|
||||
|
||||
vp = ralloc(NULL, struct brw_vertex_program);
|
||||
|
||||
nir_shader *shader = nir_shader_create(NULL, MESA_SHADER_VERTEX, NULL);
|
||||
|
||||
v = new cmod_propagation_vec4_visitor(compiler, shader);
|
||||
v = new cmod_propagation_vec4_visitor(compiler, shader, prog_data);
|
||||
|
||||
_mesa_init_gl_program(&vp->program.Base, GL_VERTEX_SHADER, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ public:
|
|||
struct gl_context *ctx;
|
||||
struct gl_shader_program *shader_prog;
|
||||
struct brw_vertex_program *vp;
|
||||
struct brw_vue_prog_data *prog_data;
|
||||
vec4_visitor *v;
|
||||
};
|
||||
|
||||
|
|
@ -45,10 +46,12 @@ class copy_propagation_vec4_visitor : public vec4_visitor
|
|||
{
|
||||
public:
|
||||
copy_propagation_vec4_visitor(struct brw_compiler *compiler,
|
||||
nir_shader *shader)
|
||||
: vec4_visitor(compiler, NULL, NULL, NULL, shader, NULL,
|
||||
nir_shader *shader,
|
||||
struct brw_vue_prog_data *prog_data)
|
||||
: vec4_visitor(compiler, NULL, NULL, prog_data, shader, NULL,
|
||||
false /* no_spills */, -1)
|
||||
{
|
||||
prog_data->dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
|
||||
}
|
||||
|
||||
protected:
|
||||
|
|
@ -90,13 +93,14 @@ void copy_propagation_test::SetUp()
|
|||
ctx = (struct gl_context *)calloc(1, sizeof(*ctx));
|
||||
compiler = (struct brw_compiler *)calloc(1, sizeof(*compiler));
|
||||
devinfo = (struct brw_device_info *)calloc(1, sizeof(*devinfo));
|
||||
prog_data = (struct brw_vue_prog_data *)calloc(1, sizeof(*prog_data));
|
||||
compiler->devinfo = devinfo;
|
||||
|
||||
vp = ralloc(NULL, struct brw_vertex_program);
|
||||
|
||||
nir_shader *shader = nir_shader_create(NULL, MESA_SHADER_VERTEX, NULL);
|
||||
|
||||
v = new copy_propagation_vec4_visitor(compiler, shader);
|
||||
v = new copy_propagation_vec4_visitor(compiler, shader, prog_data);
|
||||
|
||||
_mesa_init_gl_program(&vp->program.Base, GL_VERTEX_SHADER, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ public:
|
|||
struct gl_context *ctx;
|
||||
struct gl_shader_program *shader_prog;
|
||||
struct brw_vertex_program *vp;
|
||||
struct brw_vue_prog_data *prog_data;
|
||||
vec4_visitor *v;
|
||||
};
|
||||
|
||||
|
|
@ -48,10 +49,12 @@ class register_coalesce_vec4_visitor : public vec4_visitor
|
|||
{
|
||||
public:
|
||||
register_coalesce_vec4_visitor(struct brw_compiler *compiler,
|
||||
nir_shader *shader)
|
||||
: vec4_visitor(compiler, NULL, NULL, NULL, shader, NULL,
|
||||
nir_shader *shader,
|
||||
struct brw_vue_prog_data *prog_data)
|
||||
: vec4_visitor(compiler, NULL, NULL, prog_data, shader, NULL,
|
||||
false /* no_spills */, -1)
|
||||
{
|
||||
prog_data->dispatch_mode = DISPATCH_MODE_4X2_DUAL_OBJECT;
|
||||
}
|
||||
|
||||
protected:
|
||||
|
|
@ -93,13 +96,14 @@ void register_coalesce_test::SetUp()
|
|||
ctx = (struct gl_context *)calloc(1, sizeof(*ctx));
|
||||
compiler = (struct brw_compiler *)calloc(1, sizeof(*compiler));
|
||||
devinfo = (struct brw_device_info *)calloc(1, sizeof(*devinfo));
|
||||
prog_data = (struct brw_vue_prog_data *)calloc(1, sizeof(*prog_data));
|
||||
compiler->devinfo = devinfo;
|
||||
|
||||
vp = ralloc(NULL, struct brw_vertex_program);
|
||||
|
||||
nir_shader *shader = nir_shader_create(NULL, MESA_SHADER_VERTEX, NULL);
|
||||
|
||||
v = new register_coalesce_vec4_visitor(compiler, shader);
|
||||
v = new register_coalesce_vec4_visitor(compiler, shader, prog_data);
|
||||
|
||||
_mesa_init_gl_program(&vp->program.Base, GL_VERTEX_SHADER, 0);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue