Jason Ekstrand
569f70be56
vk/0.210.0: Rework copy/clear/blit API
2015-12-03 13:43:47 -08:00
Jason Ekstrand
4ab9391fbb
vk/0.210.0: Rework dynamic states
2015-11-30 14:19:41 -08:00
Jason Ekstrand
73ef7d47d2
vk/0.210.0: Rework color blending enums
2015-11-30 13:49:28 -08:00
Jason Ekstrand
2c77b0cd01
gen7/8/cmd_buffer: Inline vk_to_gen_swizzle
...
It's currently unused on IVB so we get compiler warnings.
2015-11-30 13:29:51 -08:00
Jason Ekstrand
9b1cb8fdbc
vk/0.210.0: Rework a few raster/input enums
2015-11-30 13:28:17 -08:00
Jason Ekstrand
a53f23d93f
vk/0.210.0: Rework texture view component mapping
2015-11-30 13:06:12 -08:00
Jason Ekstrand
f1a7c7841f
vk/0.210.0: Switch to the new VKAPI function decorations
...
While we're at it, we do a bunch of the VkResult -> void updates
2015-11-30 12:46:30 -08:00
Jason Ekstrand
a89a485e79
vk/0.210.0: Rename CmdBuffer to CommandBuffer
2015-11-30 11:48:08 -08:00
Jason Ekstrand
6a8a542610
vk/0.210.0: A pile of minor enum updates
2015-11-30 11:12:44 -08:00
Jason Ekstrand
3db43e8f3e
vk/0.210.0: Switch to the new-style handle declarations
2015-11-30 10:58:02 -08:00
Kristian Høgsberg Kristensen
d6d82f1ab3
vk: Fix 3DSTATE_WM_DEPTH_STENCIL for gen8
...
This packet is a different size on gen8 and we hit an assertion when we
try to merge a gen9 size dword array from the pipeline with the gen8
sized array we create from dynamic state.
Use a static assert in the merge macro and fix this issue by using different
wm_depth_stencil arrays on gen8 and gen9.
2015-11-26 10:11:52 -08:00
Kristian Høgsberg Kristensen
cd4721c062
vk: Add SKL support
...
Signed-off-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
2015-11-25 22:34:10 -08:00
Kristian Høgsberg Kristensen
c445fa2f77
vk: Make entrypoint generator output gen9 entry points
...
Signed-off-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
2015-11-25 20:58:25 -08:00
Kristian Høgsberg Kristensen
0e02a88ad4
vk: Add GEN9 pack header
2015-11-25 20:56:41 -08:00
Kristian Høgsberg Kristensen
0c59cb42b5
vk: Move all gen8 files to gen8 lib
2015-11-25 14:13:53 -08:00
Jason Ekstrand
179fc4aae8
Merge remote-tracking branch 'mesa-public/master' into vulkan
...
This pulls in nir cloning and some much-needed upstream refactors.
2015-11-23 14:03:47 -08:00
Jason Ekstrand
e14b2c76b4
anv/meta_clear: Don't trash state if no clears are needed
2015-11-21 11:39:12 -08:00
Jason Ekstrand
83c305f8ef
anv/meta_clear: Don't try to clear depth-stencil without LOAD_OP_CLEAR
2015-11-21 00:05:18 -08:00
Jason Ekstrand
438eaa3ae7
anv/meta: Add initial support for multi-slice array and 3-D copies
...
We still need to fix up a few bits once we have real CPP values, but this
should get us a long ways.
2015-11-20 18:25:06 -08:00
Jason Ekstrand
d6a7c659c7
anv/meta: Use array textures for 2D
...
This a total of 1 extra instruction in the shader and gives us a lot more
flexibility in how we do blits.
2015-11-20 16:00:34 -08:00
Jason Ekstrand
e3ec964e44
anv/meta: Keep z coordinate flat while blitting
2015-11-20 15:48:03 -08:00
Jason Ekstrand
1d42f773d3
gen8_state: Clamp sampler values to HW limitations
2015-11-20 14:45:44 -08:00
Jason Ekstrand
55d16c090e
gen8/pipeline: Properly handle MIN/MAX blend ops
2015-11-20 11:53:10 -08:00
Jason Ekstrand
b43ce6768d
gen8/pipeline: Set IndependentAlphaBlendEnable properly
2015-11-20 11:52:54 -08:00
Jason Ekstrand
e69db9159b
gen8/pipeline: Minor blending fixes
...
This makes various fields match upstream mesa
2015-11-20 11:52:30 -08:00
Jason Ekstrand
fa8db0dfcc
anv: Put all of the descriptor set stuff together in one file
...
The stuff to take descriptor sets and turn them into binding tables and
sampler tables is still in anv_cmd_buffer.c. We may want to consider
putting it in anv_descriptor_set.c eventually.
2015-11-18 14:58:43 -08:00
Jason Ekstrand
828b1a6eb6
anv/device: Update the right sampler in UpdateDescriptorSets
2015-11-18 14:48:28 -08:00
Jason Ekstrand
6f613abc2b
anv/cmd_buffer: Add a new genX_cmd_buffer file for shared code
...
This file contains code that can be shared across gens modulo recompiling.
In particular, we can share STATE_BASE_ADDRESS setup and handling of the
vkPipelineBarrier call. Not sharing STATE_BASE_ADDRESS setup has already
been a source of bugs and the gen7 and gen8 implementations of
PipelineBarrier were line-for-line identical.
Incidentally, this should fix MOCS settings for dynamic and surface state
on Haswell.
2015-11-18 12:26:57 -08:00
Jason Ekstrand
fb8b2f5f9e
anv/gen7: A bunch of depth-stencil fixes
...
There are various bits which move around between Haswell and Ivy Bridge
that we weren't taking into account. This also makes us actually set the
StencilWriteEnable in a sane way.
2015-11-18 11:43:52 -08:00
Jason Ekstrand
e9d634f4ad
gen7/pipeline: Re-arrange stencil parameters to match gen8
2015-11-17 19:10:31 -08:00
Jason Ekstrand
9e39bdabad
anv/gen7: Implement CmdPipelineBarrier
2015-11-17 17:09:27 -08:00
Jason Ekstrand
b707e90b6e
anv/gen7: Don't use the upper bound on dynamic state base address
...
It doesn't do much for us and, if we have to resize the dynamic state block
pool for any reason, it becomes out-of-date.
2015-11-17 17:08:44 -08:00
Jason Ekstrand
f0390bcad6
anv: Add initial Haswell support
2015-11-17 12:14:24 -08:00
Jason Ekstrand
45320f677b
anv: Add macros for doing per-gen compilation
2015-11-17 08:27:51 -08:00
Jason Ekstrand
92d164b1c3
anv/entrypoints: Add dispatch support for haswell
2015-11-17 08:27:51 -08:00
Jason Ekstrand
aa3002bd42
anv/entrypoints: Use devinfo instead of a gen number
2015-11-17 08:27:51 -08:00
Jason Ekstrand
0508046dc8
anv/cmd_buffer: Pack the 3DSTATE_VF packet on-demand
2015-11-17 08:27:51 -08:00
Jason Ekstrand
34d55d69cf
anv/formats: Don't advertise stencil texture/blit prior to Broadwell
2015-11-17 08:23:29 -08:00
Jason Ekstrand
de54b4b18f
anv: Only include the pack headers where needed
...
Previously, we were including gen7_pack.h, gen75_pack.h, and gen8_pack.h
in anv_private.h. As we add more gens, this is going to become untenable.
This commit moves things around so that we only use the pack headers when
and if we need them.
2015-11-16 12:29:09 -08:00
Jason Ekstrand
cb9e2305f8
anv/cmd_buffer: Move gen-specific stuff into the appropreate files
2015-11-16 12:10:11 -08:00
Jason Ekstrand
002db3ee15
anv/cmd_buffer: Add a default descriptor type case
...
This silences a bunch of compiler warnings.
2015-11-14 09:16:55 -08:00
Jason Ekstrand
e9dba80430
anv/apply_pipeline_layout: Handle separate samplers and textures
2015-11-14 09:00:35 -08:00
Jason Ekstrand
e8f51fe4de
anv/gen8: Subtract 1 from num_elements when setting up buffer surface state
2015-11-13 22:50:54 -08:00
Jason Ekstrand
91bc4e7cec
anv/pipeline: Don't free blend states that don't exist
...
Compute pipelines don't need a blend state so we shouldn't be
unconditionally freeing it.
2015-11-13 21:49:41 -08:00
Chad Versace
738eaa8acf
isl: Embed brw_device_info in isl_device
...
Suggested-by: Jason Ekstrand <jason.ekstrand@intel.com>
2015-11-13 11:14:03 -08:00
Chad Versace
ba467467f4
anv: Use enum isl_tiling everywhere
...
In anv_surface and anv_image_create_info, replace member
'uint8_t tile_mode' with 'enum isl_tiling'.
As a nice side-effect, this patch also reduces bug potential because the
hardware enum values for tile modes are unstable across hardware
generations.
2015-11-13 10:44:09 -08:00
Chad Versace
af392916ff
anv/device: Embed isl_device
...
Embed struct isl_device into anv_physical_device and anv_device. It
will later be used for surface layout calculations.
2015-11-13 10:44:09 -08:00
Chad Versace
a4a2ea3f79
isl: Add enum isl_tiling and a query func
...
The query func is isl_tiling_get_extent.
2015-11-13 10:44:07 -08:00
Chad Versace
652727b029
isl: Add structs isl_extent2d, isl_extent3d
...
They are nowhere used yet.
2015-11-13 10:31:49 -08:00
Chad Versace
b1bb270590
isl: Add struct isl_device
...
The struct is incomplete (it contains only the gen). And it's nowhere
used yet.
It will be used later for surface layout calculations.
2015-11-13 10:31:37 -08:00