i965: Do better fake context setup in unit tests
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 17 Apr 2015 22:23:18 +0000 (15:23 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 22 Apr 2015 23:00:32 +0000 (16:00 -0700)
In future tests, we will start relying on devinfo and not just brw in the
compiler.  Changing this now keeps these tests from failing in the future.

Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/test_eu_compact.c
src/mesa/drivers/dri/i965/test_fs_cmod_propagation.cpp
src/mesa/drivers/dri/i965/test_fs_saturate_propagation.cpp
src/mesa/drivers/dri/i965/test_vec4_copy_propagation.cpp
src/mesa/drivers/dri/i965/test_vec4_register_coalesce.cpp

index d95d2c0477152f57fe95faaae4bed9464bdd327c..f461654794fecb37c4ae7afc2da56f82a85cae97 100644 (file)
@@ -291,7 +291,10 @@ int
 main(int argc, char **argv)
 {
    struct brw_context *brw = calloc(1, sizeof(*brw));
-   brw->gen = 6;
+   struct brw_device_info *devinfo = calloc(1, sizeof(*devinfo));
+   brw->intelScreen = calloc(1, sizeof(*brw->intelScreen));
+   brw->intelScreen->devinfo = devinfo;
+   brw->gen = devinfo->gen = 6;
    bool fail = false;
 
    for (brw->gen = 6; brw->gen <= 7; brw->gen++) {
index ed8744d2d2e5e0614ef79c281fd65ecafc92fe64..206a76e92428feb50b66ea3b7f6973e945ac8cf9 100644 (file)
@@ -31,6 +31,7 @@ class cmod_propagation_test : public ::testing::Test {
 
 public:
    struct brw_context *brw;
+   struct brw_device_info *devinfo;
    struct gl_context *ctx;
    struct brw_wm_prog_data *prog_data;
    struct gl_shader_program *shader_prog;
@@ -51,6 +52,9 @@ public:
 void cmod_propagation_test::SetUp()
 {
    brw = (struct brw_context *)calloc(1, sizeof(*brw));
+   devinfo = (struct brw_device_info *)calloc(1, sizeof(*brw));
+   brw->intelScreen = (struct intel_screen *)calloc(1, sizeof(*brw->intelScreen));
+   brw->intelScreen->devinfo = devinfo;
    ctx = &brw->ctx;
 
    fp = ralloc(NULL, struct brw_fragment_program);
@@ -61,7 +65,7 @@ void cmod_propagation_test::SetUp()
 
    _mesa_init_fragment_program(ctx, &fp->program, GL_FRAGMENT_SHADER, 0);
 
-   brw->gen = 4;
+   brw->gen = devinfo->gen = 4;
 }
 
 static fs_inst *
index 6f762bcc6e00f75c4c04128cd76de16ba211cbc0..4c91af3ea8d7dce93e5bda8db8a793d6d0b90a5a 100644 (file)
@@ -31,6 +31,7 @@ class saturate_propagation_test : public ::testing::Test {
 
 public:
    struct brw_context *brw;
+   struct brw_device_info *devinfo;
    struct gl_context *ctx;
    struct brw_wm_prog_data *prog_data;
    struct gl_shader_program *shader_prog;
@@ -51,6 +52,9 @@ public:
 void saturate_propagation_test::SetUp()
 {
    brw = (struct brw_context *)calloc(1, sizeof(*brw));
+   devinfo = (struct brw_device_info *)calloc(1, sizeof(*brw));
+   brw->intelScreen = (struct intel_screen *)calloc(1, sizeof(*brw->intelScreen));
+   brw->intelScreen->devinfo = devinfo;
    ctx = &brw->ctx;
 
    fp = ralloc(NULL, struct brw_fragment_program);
@@ -61,7 +65,7 @@ void saturate_propagation_test::SetUp()
 
    _mesa_init_fragment_program(ctx, &fp->program, GL_FRAGMENT_SHADER, 0);
 
-   brw->gen = 4;
+   brw->gen = devinfo->gen = 4;
 }
 
 static fs_inst *
index f9e4ce1dc42b7a2ba626fbb42565eb101ac50eb0..2ef52e9fd6bdffa19c56874a9805b3346b1df1b5 100644 (file)
@@ -34,6 +34,7 @@ class copy_propagation_test : public ::testing::Test {
 
 public:
    struct brw_context *brw;
+   struct brw_device_info *devinfo;
    struct gl_context *ctx;
    struct gl_shader_program *shader_prog;
    struct brw_vertex_program *vp;
@@ -93,6 +94,9 @@ protected:
 void copy_propagation_test::SetUp()
 {
    brw = (struct brw_context *)calloc(1, sizeof(*brw));
+   devinfo = (struct brw_device_info *)calloc(1, sizeof(*brw));
+   brw->intelScreen = (struct intel_screen *)calloc(1, sizeof(*brw->intelScreen));
+   brw->intelScreen->devinfo = devinfo;
    ctx = &brw->ctx;
 
    vp = ralloc(NULL, struct brw_vertex_program);
@@ -103,7 +107,7 @@ void copy_propagation_test::SetUp()
 
    _mesa_init_vertex_program(ctx, &vp->program, GL_VERTEX_SHADER, 0);
 
-   brw->gen = 4;
+   brw->gen = devinfo->gen = 4;
 }
 
 static void
index 17bece5478f1b772775087b71c9ad8b6058e53c5..c8c67574e95394340612a30e77ea1d78e67dceb8 100644 (file)
@@ -36,6 +36,7 @@ class register_coalesce_test : public ::testing::Test {
 
 public:
    struct brw_context *brw;
+   struct brw_device_info *devinfo;
    struct gl_context *ctx;
    struct gl_shader_program *shader_prog;
    struct brw_vertex_program *vp;
@@ -96,6 +97,9 @@ protected:
 void register_coalesce_test::SetUp()
 {
    brw = (struct brw_context *)calloc(1, sizeof(*brw));
+   devinfo = (struct brw_device_info *)calloc(1, sizeof(*brw));
+   brw->intelScreen = (struct intel_screen *)calloc(1, sizeof(*brw->intelScreen));
+   brw->intelScreen->devinfo = devinfo;
    ctx = &brw->ctx;
 
    vp = ralloc(NULL, struct brw_vertex_program);
@@ -106,7 +110,7 @@ void register_coalesce_test::SetUp()
 
    _mesa_init_vertex_program(ctx, &vp->program, GL_VERTEX_SHADER, 0);
 
-   brw->gen = 4;
+   brw->gen = devinfo->gen = 4;
 }
 
 static void