Kenneth Graunke
824f776355
nir/spirv: Implement ModfStruct opcode.
2016-01-21 14:57:47 -08:00
Kenneth Graunke
f89d5cb807
nir/spirv: Delete stray fmod remnants.
...
Jason left these stray code fragments in
22804de110 .
2016-01-21 14:54:20 -08:00
Kristian Høgsberg Kristensen
ac60e98a58
vk: Do render cache flush for GEN8+
...
This is needed for SKL as well.
2016-01-21 14:18:52 -08:00
Kristian Høgsberg Kristensen
9eab8fc683
vk: Emit surface state base address before renderpass
...
If we're continuing a render pass, make sure we don't emit the depth and
stencil buffer addresses before we set the state base addresses.
Fixes crucible func.cmd-buffer.small-secondaries
2016-01-21 14:18:52 -08:00
Kristian Høgsberg Kristensen
c5490d0277
vk: Fix indirect push constants
...
This currently sets the base and size of all push constants to the
entire push constant block. The idea is that we'll use the base and size
to eventually optimize the amount we actually push, but for now we don't
do that.
2016-01-21 11:10:11 -08:00
Kristian Høgsberg Kristensen
83c86e09a8
Merge remote-tracking branch 'jekstrand/wip/i965-uniforms' into vulkan
2016-01-21 11:09:58 -08:00
Jordan Justen
b1a7a27d60
nir/spirv: Handle compute shared atomics
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
a7e5b683ca
nir/spirv: Support workgroup (shared) variable translation
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
bc035db3c8
anv/gen8: Set SLM size in interface descriptor
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
819cb69434
anv/gen8+9: Invalidate color calc state when switching to the GPGPU pipeline
...
Port 044acb9256 to anv.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
19830031cb
anv/gen8: Enable SLM in L3 cache control register
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
97b09a9268
anv/pipeline: Set size of shared variables in prog_data
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
86daceb7f2
i965/nir: Lower nir compute shader shared variables
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
ca55817fa1
nir: Lower shared var atomics during nir_lower_io
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
36157cd5ea
nir: Add support for lowering load/stores of shared variables
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
7a9a54b5c8
nir: Add atomic operations on variables
...
This allows us to first generate atomic operations for shared
variables using these opcodes, and then later we can lower those to
the shared atomics intrinsics with nir_lower_io.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
10db985fa0
nir: Add compute shader shared variable storage class
...
Previously we were receiving shared variable accesses via a lowered
intrinsic function from glsl. This change allows us to send in
variables instead. For example, when converting from SPIR-V.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
65a5407931
nir/print: Add space after shader_storage var mode
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Jordan Justen
9f4a72c9e3
i965/fs/nir: Move shared variable load/store to nir_emit_cs_intrinsic
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-01-21 00:31:29 -08:00
Chad Versace
5ce5a7d021
anv/image: Stop including gen8_pack.h in common file
2016-01-20 15:42:17 -08:00
Chad Versace
8ab527de03
isl: Add a README
...
Most of the file-level comment in isl.h is moved to the README.
2016-01-20 15:24:40 -08:00
Kristian Høgsberg Kristensen
7b7a7c2bfc
vk: Make maxSamplerAllocationCount more reasonable
...
We can't allocate 4 billion samplers. Let's go with 64k.
2016-01-20 14:36:52 -08:00
Kristian Høgsberg Kristensen
8ef002dd7a
vk/tests: Add stub for anv_gem_get_bit6_swizzle()
2016-01-20 13:47:40 -08:00
Kristian Høgsberg Kristensen
420e8664cb
vk/tests: Add isl include path
2016-01-20 13:47:40 -08:00
Kenneth Graunke
b76e4458f9
nir/spirv/glsl450: Use fabs not iabs in ldexp.
...
This was just wrong.
2016-01-20 12:18:02 -08:00
Kristian Høgsberg Kristensen
947ebd9c71
isl: Add ish.h to libsil_la_SOURCES
2016-01-20 12:03:46 -08:00
Jason Ekstrand
21b2d87408
nir/spirv/glsl450: Implement FrexpStruct
2016-01-20 11:36:41 -08:00
Jason Ekstrand
c7896d1868
spirv/nir/glsl450: Use vtn_create_ssa_value to create SSA values
2016-01-20 11:36:26 -08:00
Jason Ekstrand
e45748bade
anv/device: Default to scalar GS on BDW+
2016-01-20 11:16:44 -08:00
Jason Ekstrand
34f9a5f301
nir/spirv: Pull texture dimensionality out of the image when available
2016-01-20 11:11:30 -08:00
Jason Ekstrand
59ef7c6507
anv/meta: fix UpdateBuffer in the case where we do multiple updates
2016-01-20 07:56:48 -08:00
Jason Ekstrand
a0516cfbac
anv/meta: Fix a finishme
2016-01-20 07:33:41 -08:00
Jason Ekstrand
c7203aa621
nir/spirv: Move OpPhi handling to vtn_cfg.c
...
Phi handling is somewhat intrinsically tied to the CFG. Moving it here
makes it a bit easier to handle that. In particular, we can now do SSA
repair after we've done the phi node second-pass. This fixes 6 CTS tests.
2016-01-19 19:00:00 -08:00
Jason Ekstrand
891564adb9
nir/spirv: Handle OpLine and OpNoLine in foreach_instruction
...
This way we don't have to explicitly handle them everywhere.
2016-01-19 19:00:00 -08:00
Kenneth Graunke
e79f8a4926
nir: Lower ldexp to arithmetic.
...
This is a port of Matt's GLSL IR lowering pass to NIR. It's required
because we translate SPIR-V directly to NIR, bypassing GLSL IR.
I haven't introduced a lower_ldexp flag, as I believe all current NIR
consumers would set the flag. i965 wants this, vc4 doesn't implement
this feature, and st_glsl_to_tgsi currently lowers ldexp
unconditionally anyway.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2016-01-19 18:10:30 -08:00
Kenneth Graunke
b3cc10f3b2
nir: Let nir_opt_algebraic rules contain unsigned constants > INT_MAX.
...
struct.pack('i', val) interprets `val` as a signed integer, and dies
if `val` > INT_MAX. For larger constants, we need to use 'I' which
interprets it as an unsigned value.
This patch makes us use 'I' for all values >= 0, and 'i' for negative
values. This should work in all cases.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2016-01-19 18:10:30 -08:00
Jason Ekstrand
eb2a119da2
anv/meta: Implement UpdateBuffer
2016-01-19 16:53:35 -08:00
Jason Ekstrand
0ae1bd321e
anv/meta: Implement CmdFillBuffer
2016-01-19 16:53:35 -08:00
Jason Ekstrand
46eef31311
anv/meta_clear: Call emit_clear directly in ClearImage
...
Using the load op means that we end up with recursive meta. We shouldn't
be doing that.
2016-01-19 16:53:35 -08:00
Jason Ekstrand
6325a75011
anv/meta_clear: Do save/restore in actual entry points
2016-01-19 16:53:35 -08:00
Jason Ekstrand
56dbf13045
anv: Add support for VK_WHOLE_SIZE several places
2016-01-19 16:53:35 -08:00
Kenneth Graunke
549be68258
nir/spirv/glsl450: Implement Frexp.
2016-01-19 16:46:03 -08:00
Kenneth Graunke
68c9ca1a94
nir/spirv/glsl450: Blindly implement Atan2.
...
This is untested and probably broken.
We already passed the atan2 CTS tests before implementing this opcode.
Presumably, glslang or something was giving us a plain Atan opcode
instead of Atan2. I don't know why.
2016-01-19 16:14:05 -08:00
Kenneth Graunke
2ab3efa0ad
nir/spirv/glsl450: Implement Atan.
2016-01-19 16:14:05 -08:00
Kenneth Graunke
bc9d9bc2e3
nir/spirv/glsl450: Implement Asin and Acos.
2016-01-19 16:14:05 -08:00
Jason Ekstrand
5e57a87dcf
anv/pipeline: Fix point size
2016-01-19 12:03:13 -08:00
Jason Ekstrand
3276610ea6
getX/state: Set LOD pre-clamp to OpenGL mode
...
This gets us another couple hundred sampler tests
2016-01-18 17:51:35 -08:00
Jason Ekstrand
580b2e85e4
isl/device: Add a flag for bit 6 swizzling
2016-01-18 17:21:05 -08:00
Jason Ekstrand
587842a0ca
anv/gem: Add a helper for getting bit6 swizzling information
2016-01-18 17:21:05 -08:00
Jason Ekstrand
c2a6f4302e
nir/spirv: Patch through image qualifiers
2016-01-18 17:21:05 -08:00