Jason Ekstrand
2de388c49c
vk: Remove SHAREABLE bits
...
They were removed from the Vulkan API and we don't really use them because
there are no multi-GPU i965 systems.
2015-07-06 17:12:51 -07:00
Jason Ekstrand
8c5e48f307
vk: Rename NUM_SHADER_STAGE to SHADER_STAGE_NUM
...
This is a refactor of more than just the header but it lets us finish
reformating the shader stage enum.
2015-07-06 16:43:28 -07:00
Jason Ekstrand
c5ffcc9958
vk: Remove multi-device stuff
2015-07-06 15:34:55 -07:00
Jason Ekstrand
c5ab5925df
vk: Remove ClearDescriptorSets
2015-07-06 15:32:40 -07:00
Jason Ekstrand
ea5fbe1957
vk: Remove begin/end descriptor pool update
2015-07-06 15:32:27 -07:00
Jason Ekstrand
78a0d23d4e
vk: Remove the stub support for memory priorities
2015-07-06 15:28:10 -07:00
Jason Ekstrand
11cf214578
vk: Remove the stub support for explicit memory references
2015-07-06 15:27:58 -07:00
Jason Ekstrand
4a42f45514
vk: Remove atomic counters stubs
2015-07-06 14:38:45 -07:00
Chad Versace
709fa463ec
vk/depth: Add a FIXME
...
3DSTATE_DEPTH_BUFFER.Width,Height are wrong.
2015-06-26 22:15:03 -07:00
Chad Versace
55752fe94a
vk: Rename functions ALIGN_*32 -> align_*32
...
ALIGN_U32 and ALIGN_I32 are functions, not macros. So stop using
allcaps.
2015-06-26 15:07:59 -07:00
Chad Versace
7ea707a42a
vk/image: Add qpitch fields to anv_depth_stencil_view
...
For now, hard-code them to 0.
2015-06-25 20:10:16 -07:00
Chad Versace
4c8146313f
vk/formats: Rename anv_format::format -> surface_format
...
I misinterpreted anv_format::format as a VkFormat. Instead, it is
a hardware surface format (RENDER_SURFACE_STATE.SurfaceFormat). Rename
the field to 'surface_format' to make it unambiguous.
2015-06-25 20:10:16 -07:00
Kristian Høgsberg Kristensen
9b9f973ca6
vk: Implement scratch buffers to make spilling work
2015-06-19 15:42:15 -07:00
Kristian Høgsberg Kristensen
fa8a07748d
vk: Compute CS exec mask and thread width max in pipeline
...
We compute the right mask and thread width max parameters as part of
pipeline creation and set them accordingly at vkCmdDispatch() and
vkCmdDispatchIndirect() time. These parameters depend only on the local
group size and the dispatch width of the program so we can figure this
out at pipeline create time.
2015-06-12 18:21:50 -07:00
Kristian Høgsberg Kristensen
fbc9fe3c92
vk: Use compute pipeline layout when binding compute sets
2015-06-11 21:57:43 -07:00
Kristian Høgsberg Kristensen
765175f5d1
vk: Implement basic compute shader support
2015-06-11 15:31:42 -07:00
Kristian Høgsberg Kristensen
7637b02aaa
vk: Emit PIPELINE_SELECT on demand
2015-06-11 15:21:49 -07:00
Kristian Høgsberg Kristensen
e7edde60ba
vk: Defer setting viewport dynamic state
...
We can't emit this until we've done a 3D pipeline select.
2015-06-11 15:04:09 -07:00
Kristian Høgsberg Kristensen
f7fe06cf0a
vk: Disable shader stages in the graphics pipeline batch
...
We need to move this into the graphics pipeline batch so we don't emit it
for compute pipelines.
2015-06-11 14:58:31 -07:00
Kristian Høgsberg Kristensen
9aae480cc4
vk: Don't emit STATE_SIP
...
We don't have a SIP kernel and don't enable exceptions.
2015-06-11 14:56:29 -07:00
Kristian Høgsberg Kristensen
a5b49d2799
vk: Use generated headers with fixed point support
...
The generated headers now convert float in the template struct to the
correct fixed point format.
2015-06-11 09:25:04 -07:00
Jason Ekstrand
c8b62d109b
vk: Add a couple vk_error calls
2015-06-10 21:04:13 -07:00
Jason Ekstrand
29d2bbb2b5
vk/cmd: Add an initial implementation of PipelineBarrier
...
We may want to do something more inteligent here later such as actually
handling image layout transitions. However, this should do for now.
2015-06-10 16:37:33 -07:00
Jason Ekstrand
9cae3d18ac
vk: Add valgrind checks in various emit functions
...
The check in batch_bo_finish should catch any undefined values in the batch
but isn't that great for debugging. The checks in the various emit
functions will help get better granularity.
2015-06-09 21:51:37 -07:00
Jason Ekstrand
11e941900a
vk/device: Actually allow destruction
2015-06-09 16:28:46 -07:00
Jason Ekstrand
5d4b6a01af
vk/cmd_buffer: Properly initialize/reset dynamic states
2015-06-09 16:27:55 -07:00
Jason Ekstrand
919e7b7551
vk/device: Use anv_CreateDynamicViewportState instead of the vk one
2015-06-09 16:01:56 -07:00
Jason Ekstrand
0599d39dd9
vk/device: Dedent the vkCreateDynamicViewportState call
2015-06-09 15:53:26 -07:00
Jason Ekstrand
66b00d5e5a
vk/queue: Embed the queue in and allocate it with the device
2015-06-09 12:36:23 -07:00
Jason Ekstrand
38f5eef59d
vk/device: Free border color states when we have valgrind
2015-06-09 12:36:23 -07:00
Jason Ekstrand
999b56c507
vk/device: Destroy all batch buffers
...
Due to a copy+paste error, we were destroying all but the first batch or
surface state buffer. Now we destroy them all.
2015-06-09 12:36:23 -07:00
Jason Ekstrand
3a38b0db5f
vk/meta: Clean up temporary objects
2015-06-09 12:36:23 -07:00
Jason Ekstrand
9d6f55dedf
vk/surface_view: Add a destructor
2015-06-09 12:36:23 -07:00
Jason Ekstrand
b6363c3f12
vk/device: Remove the binding table pools/streams
2015-06-08 17:45:57 -07:00
Kristian Høgsberg Kristensen
52637c0996
vk: Quiet a few warnings
2015-06-08 08:51:40 -07:00
Kristian Høgsberg Kristensen
9eab70e54f
vk: Create a minimal context for the compiler
...
This avoids the full brw context initialization and just sets up context
constants, initializes extensions and sets a few driver vfuncs for the
front-end GLSL compiler.
2015-06-08 08:51:40 -07:00
Jason Ekstrand
ce00233c13
vk/cmd_buffer: Use the dynamic state stream in emit_dynamic and merge_dynamic
2015-06-05 17:26:41 -07:00
Jason Ekstrand
e69588b764
vk/device: Use a 64-byte alignment for CC state
2015-06-05 17:26:26 -07:00
Chad Versace
87d98e1935
vk: Fix 2 incorrect typecasts
...
The compiler didn't find the cast errors because all Vulkan types are
just integers.
2015-06-04 14:32:22 -07:00
Jason Ekstrand
7f90e56e42
vk/device: Dissalow device destruction
2015-06-04 09:14:33 -07:00
Jason Ekstrand
251aea80b0
vk/DS: Mask stencil masks to 8 bits
2015-06-03 16:59:13 -07:00
Kristian Høgsberg Kristensen
5744d1763c
vk: Set cb_state to NULL at cmd buffer create time
...
Dynamic color/blend state can be NULL in case we're not rendering to
color targets (only output to depth and/or stencil). Initialize
cmd_buffer->cb_state to NULL so we can reliably detect whether it's been
set or not.
2015-06-02 22:57:42 -07:00
Kristian Høgsberg Kristensen
c8f078537e
vk: Implement vertexOffset parameter of vkCmdDrawIndexed()
...
As exposed by the func.draw_indexed test, we were ignoring the argument
and hardcoding 0.
2015-06-02 22:57:42 -07:00
Kristian Høgsberg Kristensen
f98c89ef31
vk: Move query related functionality to new file query.c
2015-06-01 21:52:45 -07:00
Kristian Høgsberg Kristensen
5caa408579
vk: Indent tables to align '=' at column 48
2015-05-31 22:36:26 -07:00
Kristian Høgsberg Kristensen
76bb658518
vk: Add support for anisotropic bits
2015-05-31 22:15:34 -07:00
Kristian Høgsberg Kristensen
dc56e4f7b8
vk: Implement support for sampler border colors
...
This supports the three Vulkan border color types for float color
formats. The support for integer formats is a little trickier, as we
don't know the format of the texture at this time.
2015-05-31 17:20:48 -07:00
Jason Ekstrand
e497ac2c62
vk/device: Only flush the texture cache when setting state base address
...
After further examination, it appears that the other flushes and stalls
weren't actually needed.
2015-05-30 18:04:50 -07:00
Jason Ekstrand
2251305e1a
vk/cmd_buffer: Track descriptor set dirtying per-stage
2015-05-30 10:07:29 -07:00
Jason Ekstrand
33cccbbb73
vk/device: Emit PIPE_CONTROL flushes surrounding new STATE_BASE_ADDRESS
...
According to the bspec, you're supposed to emit a PIPE_CONTROL with a CS
stall and a render target flush prior to chainging STATE_BASE_ADDRESS. A
little experimentation, however, shows that this is not enough. It also
appears as if you have to flush the texture cache after chainging base
address or things won't propagate properly.
2015-05-30 08:08:07 -07:00