Merge remote-tracking branch 'public/master' into vulkan
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 15 Apr 2016 00:14:28 +0000 (17:14 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 15 Apr 2016 00:14:28 +0000 (17:14 -0700)
1  2 
configure.ac
src/compiler/nir/nir.h
src/compiler/nir/nir_intrinsics.h
src/compiler/nir/nir_lower_io.c

diff --cc configure.ac
Simple merge
Simple merge
index fa162f9d126927f475f7abbeeb5dcfd06d39d00a,05507dc6579b2878ac4be98d42570fb520728a2e..3cb4f95394c6d683ee03862402aaf03a82e84b62
@@@ -170,31 -170,11 +170,31 @@@ INTRINSIC(image_atomic_or, 3, ARR(4, 1
  INTRINSIC(image_atomic_xor, 3, ARR(4, 1, 1), true, 1, 1, 0, xx, xx, xx, 0)
  INTRINSIC(image_atomic_exchange, 3, ARR(4, 1, 1), true, 1, 1, 0, xx, xx, xx, 0)
  INTRINSIC(image_atomic_comp_swap, 4, ARR(4, 1, 1, 1), true, 1, 1, 0, xx, xx, xx, 0)
- INTRINSIC(image_size, 0, ARR(), true, 4, 1, 0, xx, xx, xx,
+ INTRINSIC(image_size, 0, ARR(0), true, 4, 1, 0, xx, xx, xx,
            NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
- INTRINSIC(image_samples, 0, ARR(), true, 1, 1, 0, xx, xx, xx,
+ INTRINSIC(image_samples, 0, ARR(0), true, 1, 1, 0, xx, xx, xx,
            NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
  
 +/*
 + * Vulkan descriptor set intrinsic
 + *
 + * The Vulkan API uses a different binding model from GL.  In the Vulkan
 + * API, all external resources are represented by a tripple:
 + *
 + * (descriptor set, binding, array index)
 + *
 + * where the array index is the only thing allowed to be indirect.  The
 + * vulkan_surface_index intrinsic takes the descriptor set and binding as
 + * its first two indices and the array index as its source.  The third
 + * index is a nir_variable_mode in case that's useful to the backend.
 + *
 + * The intended usage is that the shader will call vulkan_surface_index to
 + * get an index and then pass that as the buffer index ubo/ssbo calls.
 + */
 +INTRINSIC(vulkan_resource_index, 1, ARR(1), true, 1, 0, 2,
 +          DESC_SET, BINDING, xx,
 +          NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
 +
  /*
   * variable atomic intrinsics
   *
Simple merge