Nanley Chery
1d9d90d9a6
anv/image: Create a linear image when requested
...
If a linear image is requested, the only possible result should be a
linearly-tiled surface.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
2016-03-03 11:24:17 -08:00
Nanley Chery
091f1da902
isl: Don't filter tiling flags if a specific tiling bit is set
...
If a specific bit is set, the intention to create a surface with a
specific tiling format should be respected.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
2016-03-03 11:23:40 -08:00
Nanley Chery
456f5b0314
isl: Add function to get intratile offsets from x/y offsets
...
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
2016-03-03 10:56:15 -08:00
Jason Ekstrand
206414f92e
anv/util: Fix vector resizing
...
It wasn't properly handling the fact that wrap-around in the source may not
translate to wrap-around in the destination. This really needs unit tests.
2016-03-03 08:17:36 -08:00
Jordan Justen
98cdce1ce4
anv/gen7: Use predicated rendering for indirect compute
...
For OpenGL, see commit 9a939ebb47 .
Fixes:
* dEQP-VK.compute.indirect_dispatch.upload_buffer.empty_command
* dEQP-VK.compute.indirect_dispatch.gen_in_compute.empty_command
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-03-02 12:03:05 -08:00
Jordan Justen
da4745104c
anv: Save batch to local variable for indirect compute
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-03-02 12:03:05 -08:00
Jason Ekstrand
b0867ca4b2
anv: Fix make check
2016-03-02 11:45:29 -08:00
Jason Ekstrand
2168082a48
isl: Fix make check
2016-03-02 11:31:22 -08:00
Jason Ekstrand
8f5a64e44f
gen8/cmd_buffer: Properly return flushed push constant stages
...
This is required on SKL so that we can properly re-emit binding table
pointers commands.
2016-03-02 10:48:40 -08:00
Jason Ekstrand
5b70aa11ee
anv/meta_blit: Use unorm formats for 8 and 16-bit RGB and RGBA values
...
While Broadwell is very good about UINT formats, HSW is more restrictive.
Neither R8G8B8_UINT nor R16G16B16_UINT really exist on HSW. It should be
safe to just use the unorm formats.
2016-03-01 21:45:20 -08:00
Kenneth Graunke
89e421369c
Merge remote-tracking branch 'origin/master' into vulkan
2016-03-01 17:11:29 -08:00
Jason Ekstrand
e941fd8470
genxml: Make the border color pointer consistent across gens
2016-03-01 14:43:05 -08:00
Jason Ekstrand
eecd1f8001
gen7/pipeline: Add competent blending
...
This is mostly a copy-and-paste from gen8. Blending still isn't 100% but
it fixes about 1100 CTS blend tests on HSW.
2016-03-01 13:51:58 -08:00
Jason Ekstrand
8b091deb5e
anv: Unify gen7 and gen8 state
...
Now that we've pulled surface state setup into ISL, there's not much to do
here.
2016-03-01 12:17:23 -08:00
Jason Ekstrand
6e20c1e058
anv/cmd_buffer: Look at both sides for stencil enable
...
Now it's all consistent with gen9
2016-03-01 11:03:29 -08:00
Jason Ekstrand
4cfdd16500
anv/cmd_buffer: Clean up stencil state setup on gen7
2016-03-01 11:02:21 -08:00
Jason Ekstrand
bb08d86efe
anv/cmd_buffer: Clean up stencil state setup on gen8
2016-03-01 10:58:43 -08:00
Kristian Høgsberg Kristensen
22d8666d74
anv: Add in image->offset when setting up depth buffer
...
Fix from Neil Roberts.
https://bugs.freedesktop.org/show_bug.cgi?id=94348
2016-03-01 09:19:39 -08:00
Jason Ekstrand
38f4c11c2f
anv/pipeline: Pull 3DSTATE_SBE into a shared helper
2016-03-01 08:46:32 -08:00
Jason Ekstrand
3f8df795c1
genxml: Break output detail of 3DSTATE_SBE on gen7 into a struct
...
This makes it work like 3DSTATE_SBE_SWIZ on gen8+ which is much more
convenient.
2016-02-29 16:47:42 -08:00
Jason Ekstrand
097564bb8e
anv/cmd_buffer: Dirty push constants when changing pipelines.
2016-02-29 14:36:24 -08:00
Jason Ekstrand
d29fd1c7cb
anv/cmd_buffer: Re-emit push constants packets for all stages
2016-02-29 14:36:24 -08:00
Jason Ekstrand
9715724015
anv/pipeline: Follow push constant alignment restrictions on BDW+ and HSW gt3
2016-02-29 14:36:24 -08:00
Jason Ekstrand
6986ae35ad
anv/pipeline: Avoid a division by zero
2016-02-29 14:36:24 -08:00
Jason Ekstrand
51b618285d
anv/pipeline: Use dynamic checks for max push constants
...
The GEN_GEN macros aren't available in anv_pipeline since it only gets
compiled once for the whold driver.
2016-02-29 14:36:24 -08:00
Nanley Chery
74b7b59db5
isl/surface_state: Fix array spacing on Gen7
...
v2: Don't cast the enum to a boolean (Jason)
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
2016-02-29 11:43:33 -08:00
Kristian Høgsberg Kristensen
9d8bae6137
anv: Don't advertise pipelineStatisticsQuery
...
We don't support that just yet.
Reported-by: Jacek Konieczny <jajcus@jajcus.net>
2016-02-29 10:55:39 -08:00
Jordan Justen
635c0e92b7
anv: Set CURBEAllocationSize in MEDIA_VFE_STATE
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-02-28 11:54:49 -08:00
Jordan Justen
1af5dacd76
anv/gen7: Enable SLM in L3 cache control register
...
Port 1983003 to gen7.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-02-28 11:54:49 -08:00
Jordan Justen
72efb68d48
anv/pipeline: Set URB offset to zero if size is zero
...
After 3ecd357d81 , it may be possible for
the VS to get assigned all of the URB space.
On Ivy Bridge, this will cause the offset for the other stages to be
16, which cannot be packed into the ConstantBufferOffset field of
3DSTATE_PUSH_CONSTANT_ALLOC_*.
Instead we can set the offset to zero if the stage size is zero.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-02-28 10:51:38 -08:00
Jordan Justen
ef06ddb08a
anv/pipeline: Set FS URB space to zero if the FS is unused
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-02-28 10:51:38 -08:00
Jordan Justen
45d8ce07a5
anv/pipeline: Set stage URB size to zero if it is unused
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2016-02-28 10:49:39 -08:00
Jason Ekstrand
46b7c242da
anv/gen7: Clean up the dummy PS case
...
Fix whitespace and remove dead comments
2016-02-27 11:24:09 -08:00
Jason Ekstrand
e18a2f037a
anv/gen7: Set MaximumNumberofThreads in the dummy PS packet
2016-02-27 11:23:56 -08:00
Jason Ekstrand
ad50896c87
anv/gen7: Only try to get the depth format the surface has depth
2016-02-27 11:23:18 -08:00
Jason Ekstrand
4b34f2ccb8
anv/image: Use isl for filling brw_image_param
2016-02-27 10:26:14 -08:00
Jason Ekstrand
bd6470fa6c
isl: Add helpers for filling out brw_image_param
2016-02-27 10:26:14 -08:00
Jason Ekstrand
7363024cbd
anv: Fill out image_param structs at view creation time
2016-02-27 10:26:14 -08:00
Jason Ekstrand
e9d126f23b
anv/image: Add a ussage_mask field to image_view_init
...
This allows us to avoid doing some unneeded work on the meta paths where we
know that the image view will be used for exactly one thing. The meta
paths also sometimes do things that aren't quite valid like setting the
array slice on a 3-D texture and we want to limit the number of paths that
need to be able to sensibly handle the lies.
2016-02-27 10:26:14 -08:00
Jason Ekstrand
b4c16fd01a
isl: Move isl_image.c to isl_storage_image.c
2016-02-27 10:26:14 -08:00
Jason Ekstrand
eb19d640eb
anv: Use isl to fill buffer surface states
2016-02-27 10:26:14 -08:00
Jason Ekstrand
a0cd20eb7f
isl: Add a helper for filling a buffer surface state
2016-02-27 10:26:14 -08:00
Jason Ekstrand
9d5b8f7709
anv: Remove unneeded fiels from anv_image_view
2016-02-27 10:26:14 -08:00
Jason Ekstrand
b70a8d40fa
anv/state: Remove unused fill_surface_state functions
2016-02-27 10:26:14 -08:00
Jason Ekstrand
ded57c3cca
anv: Use ISL to fill out surface states
2016-02-27 10:26:14 -08:00
Jason Ekstrand
4a9b805ce5
anv/device: Store the default MOCS in the device
2016-02-27 10:26:13 -08:00
Jason Ekstrand
d798762cdb
isl: Add a function for filling out a surface state
2016-02-27 10:26:13 -08:00
Jason Ekstrand
6b06072ba8
isl: Create per-gen helper libraries for gens 7, 8, and 9
2016-02-27 10:26:13 -08:00
Jason Ekstrand
82d2db80bb
genxml: Add MOCS fields to RENDER_SURFACE_STATE
...
This allows us to set MOCS as a single uint32_t on all platforms.
2016-02-27 10:26:13 -08:00
Jason Ekstrand
452782f68b
gen/genX_pack: Add genxml to the pack header path
...
If you have an out-of-tree build, gen8_pack.h and friends will not be in
the same folder as genX_pack.h so this will be a problem. We fixed
out-of-tree earlier by adding the genxml folder to the includes for the
vulkan driver. However, this is not a good long-term solution because we
want to use it in ISL as well.
2016-02-27 10:26:13 -08:00