Re: [Mesa-dev] [PATCH 1/3] intel/i965: make gen_device_info mutable

2016-09-22 Thread Kenneth Graunke
On Friday, September 23, 2016 1:17:14 AM PDT Lionel Landwerlin wrote:
> Make gen_device_info a mutable structure so we can update the fields that
> can be refined by querying the kernel (like subslices and EU numbers).
> 
> This patch does not make any functional change, it just make
> gen_get_device_info() fill a structure rather than returning a const
> pointer.
> 
> Cc: Kenneth Graunke 
> Signed-off-by: Lionel Landwerlin 

Thank you, thank you!  This is so much nicer!  I've wanted to get rid of
all the duplicate URB fields and thread counts for ages.

Series is:
Reviewed-by: Kenneth Graunke 


signature.asc
Description: This is a digitally signed message part.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 1/3] intel/i965: make gen_device_info mutable

2016-09-22 Thread Lionel Landwerlin
Make gen_device_info a mutable structure so we can update the fields that
can be refined by querying the kernel (like subslices and EU numbers).

This patch does not make any functional change, it just make
gen_get_device_info() fill a structure rather than returning a const
pointer.

Cc: Kenneth Graunke 
Signed-off-by: Lionel Landwerlin 
---
 src/intel/common/gen_device_info.c | 11 ++--
 src/intel/common/gen_device_info.h |  2 +-
 .../isl/tests/isl_surf_get_image_offset_test.c | 18 ---
 src/intel/tools/disasm.c   |  4 +-
 src/intel/vulkan/anv_device.c  | 59 +++---
 src/intel/vulkan/anv_formats.c | 16 +++---
 src/intel/vulkan/anv_private.h |  2 +-
 src/mesa/drivers/dri/i965/brw_clip.c   |  4 +-
 src/mesa/drivers/dri/i965/brw_context.c|  6 +--
 src/mesa/drivers/dri/i965/brw_cs.c |  2 +-
 src/mesa/drivers/dri/i965/brw_ff_gs.c  |  4 +-
 src/mesa/drivers/dri/i965/brw_gs.c |  4 +-
 src/mesa/drivers/dri/i965/brw_sf.c |  4 +-
 src/mesa/drivers/dri/i965/brw_state_dump.c |  2 +-
 src/mesa/drivers/dri/i965/brw_surface_formats.c|  2 +-
 src/mesa/drivers/dri/i965/brw_tes.c|  2 +-
 src/mesa/drivers/dri/i965/brw_vs.c |  4 +-
 src/mesa/drivers/dri/i965/brw_wm.c |  2 +-
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c   | 10 ++--
 src/mesa/drivers/dri/i965/gen7_cs_state.c  |  2 +-
 src/mesa/drivers/dri/i965/gen7_l3_state.c  |  8 +--
 src/mesa/drivers/dri/i965/gen7_urb.c   |  2 +-
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c  |  4 +-
 src/mesa/drivers/dri/i965/intel_screen.c   | 41 ---
 src/mesa/drivers/dri/i965/intel_screen.h   |  2 +-
 25 files changed, 111 insertions(+), 106 deletions(-)

diff --git a/src/intel/common/gen_device_info.c 
b/src/intel/common/gen_device_info.c
index 7f1af19..615605c 100644
--- a/src/intel/common/gen_device_info.c
+++ b/src/intel/common/gen_device_info.c
@@ -487,21 +487,20 @@ static const struct gen_device_info 
gen_device_info_kbl_gt4 = {
.num_slices = 3,
 };
 
-const struct gen_device_info *
-gen_get_device_info(int devid)
+const bool
+gen_get_device_info(int devid, struct gen_device_info *devinfo)
 {
-   const struct gen_device_info *devinfo;
switch (devid) {
 #undef CHIPSET
 #define CHIPSET(id, family, name) \
-   case id: devinfo = _device_info_##family; break;
+  case id: *devinfo = gen_device_info_##family; break;
 #include "pci_ids/i965_pci_ids.h"
default:
   fprintf(stderr, "i965_dri.so does not support the 0x%x PCI ID.\n", 
devid);
-  return NULL;
+  return false;
}
 
-   return devinfo;
+   return true;
 }
 
 const char *
diff --git a/src/intel/common/gen_device_info.h 
b/src/intel/common/gen_device_info.h
index 6b639d3..8b68a01 100644
--- a/src/intel/common/gen_device_info.h
+++ b/src/intel/common/gen_device_info.h
@@ -143,5 +143,5 @@ struct gen_device_info
/** @} */
 };
 
-const struct gen_device_info *gen_get_device_info(int devid);
+const bool gen_get_device_info(int devid, struct gen_device_info *devinfo);
 const char *gen_get_device_name(int devid);
diff --git a/src/intel/isl/tests/isl_surf_get_image_offset_test.c 
b/src/intel/isl/tests/isl_surf_get_image_offset_test.c
index 5ce326f..1b3dc58 100644
--- a/src/intel/isl/tests/isl_surf_get_image_offset_test.c
+++ b/src/intel/isl/tests/isl_surf_get_image_offset_test.c
@@ -124,9 +124,11 @@ 
test_bdw_2d_r8g8b8a8_unorm_512x512_array01_samples01_noaux_tiley0(void)
 {
bool ok;
 
+   struct gen_device_info devinfo;
+   t_assert(gen_get_device_info(BDW_GT2_DEVID, ));
+
struct isl_device dev;
-   isl_device_init(, gen_get_device_info(BDW_GT2_DEVID),
-   /*bit6_swizzle*/ false);
+   isl_device_init(, , /*bit6_swizzle*/ false);
 
struct isl_surf surf;
ok = isl_surf_init(, ,
@@ -170,9 +172,11 @@ 
test_bdw_2d_r8g8b8a8_unorm_1024x1024_array06_samples01_noaux_tiley0(void)
 {
bool ok;
 
+   struct gen_device_info devinfo;
+   t_assert(gen_get_device_info(BDW_GT2_DEVID, ));
+
struct isl_device dev;
-   isl_device_init(, gen_get_device_info(BDW_GT2_DEVID),
-   /*bit6_swizzle*/ false);
+   isl_device_init(, , /*bit6_swizzle*/ false);
 
struct isl_surf surf;
ok = isl_surf_init(, ,
@@ -229,9 +233,11 @@ 
test_bdw_3d_r8g8b8a8_unorm_256x256x256_levels09_tiley0(void)
 {
bool ok;
 
+   struct gen_device_info devinfo;
+   t_assert(gen_get_device_info(BDW_GT2_DEVID, ));
+
struct isl_device dev;
-   isl_device_init(, gen_get_device_info(BDW_GT2_DEVID),
-   /*bit6_swizzle*/ false);
+   isl_device_init(, , /*bit6_swizzle*/ false);
 
struct isl_surf surf;
ok = isl_surf_init(, ,
diff --git a/src/intel/tools/disasm.c