Jason Ekstrand
d5e41a3a99
vk/compiler: Add the initial hacks to get SPIR-V up and going
2015-06-25 17:36:35 -07:00
Chad Versace
fa352969a2
vk/image: Check extent does not exceed surface type limits
2015-06-25 16:53:24 -07:00
Chad Versace
99031aa0f3
vk/image: Stop hardcoding SurfaceType of VkImageView
...
Instead, translate VkImageViewType to a gen SurfaceType.
2015-06-25 16:53:22 -07:00
Chad Versace
7ea121687c
vk/image: Add anv_image::surf_type
...
This the gen SurfaceType, such as SURFTYPE_2D.
2015-06-25 16:52:16 -07:00
Chad Versace
cb30acaced
vk/image: Add tables for gen SurfaceType
...
Tables for mapping VkImageType and VkImageViewType to gen SurfaceType.
Tables are unused.
2015-06-25 16:52:16 -07:00
Chad Versace
1132080d5d
vk/util: Add anv_loge() for logging error messages
2015-06-25 16:52:16 -07:00
Chad Versace
5f2d469e37
vk: Add func anv_is_aligned()
2015-06-25 16:52:16 -07:00
Chad Versace
f7fb7575ef
vk: Add anv_minify()
2015-06-25 16:52:05 -07:00
Chad Versace
7cec6c5dfd
vk: Define MAX(a, b) macro
2015-06-25 16:29:42 -07:00
Kristian Høgsberg Kristensen
24dff4f8fa
vk/headers: Handle MBO fields
...
These must be set to one.
2015-06-24 09:37:50 -07:00
Jason Ekstrand
a62edcce4e
Merge remote-tracking branch 'mesa-public/master' into vulkan
2015-06-23 18:05:25 -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
9e59003fb1
vk: Undo relocs for scratch bos
2015-06-19 15:42:15 -07:00
Kristian Høgsberg Kristensen
b20794cfa8
vk/allocator: Get rid of non-memfd path
...
We can just use modern valgrind now.
2015-06-19 15:42:15 -07:00
Kristian Høgsberg Kristensen
aba75d0546
vk/headers: Make General State offsets relocations
2015-06-19 15:42:15 -07:00
Kristian Høgsberg Kristensen
aedd3c9579
vk: Add missing gen7 RENDER_SURFACE_STATE struct
2015-06-17 21:42:29 -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
c103c4990c
vk: Set binding table layout for CS
...
We weren't setting the binding table layout for the backend compiler.
2015-06-12 18:21:49 -07:00
Kristian Høgsberg Kristensen
2fdd17d259
vk: Generate CS prog_data into the pipeline instance
...
We were generating the prog_data into a local variable and never
initializing the pipeline->cs_prog_data one.
2015-06-12 18:21:49 -07:00
Kristian Høgsberg Kristensen
00494c6cb7
vk: Document how depth/stencil formats work in anv_image_create()
...
This reverts commits
e17ed04 * vk/image: Don't double-allocate stencil buffers
1ee2d1c * vk/image: Teach anv_image_choose_tile_mode about WMAJOR
and instead adds a comment to describe the subtlety of how we create
images for stencil only formats.
2015-06-11 22:07:16 -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
405697eb3d
vk: Stop asserting we have a fragment shader
...
Even for graphics, this is not a requirement, we can have a depth-only output pipeline.
2015-06-11 15:07:38 -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
923e923bbc
vk: Compile fragment shader after VS and GS
...
Just moving code around to do shader stages in the natual order.
2015-06-11 14:55:50 -07:00
Jason Ekstrand
1dd63fcbed
vk/entrypoints: Don't print every single function call
2015-06-11 10:10:13 -07:00
Kristian Høgsberg Kristensen
b581e924b6
vk: Remove left-over trp call
2015-06-11 09:26:49 -07:00
Kristian Høgsberg Kristensen
d76ea7644a
vk: Set maximum point size range
...
We set both minimum and maximum point size to 0 in 3DSTATE_CLIP, which
will clip away all points.
2015-06-11 09:25:04 -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
Kristian Høgsberg Kristensen
ea7ef46cf9
vk: Regenerate headers with __gen_validate_value()
2015-06-11 09:25:03 -07:00
Jason Ekstrand
a566b1e08a
vk/formats: Refactor format properties code
...
Along with the refactor, we now do the right thing when we hit an
unsupported format: Set the flags to 0 and return VK_SUCCESS.
2015-06-11 09:11:16 -07:00
Jason Ekstrand
2a3c29698c
vk/image: Add a bunch of asserts
2015-06-10 21:04:51 -07:00
Jason Ekstrand
c8b62d109b
vk: Add a couple vk_error calls
2015-06-10 21:04:13 -07:00
Jason Ekstrand
7153b56abc
vk/private: Add a non-fatal assert
2015-06-10 21:03:50 -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
047ed02723
vk/emit: Use valgrind to validate every packed field
2015-06-10 12:43:02 -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
d5ad24e39b
vk: Move the valgrind include and VG() macro to private.h
2015-06-09 21:51:37 -07:00
Chad Versace
e17ed04b03
vk/image: Don't double-allocate stencil buffers
...
If the main surface has format S8_UINT, then don't allocate the
auxiliary stencil surface.
2015-06-09 16:39:28 -07:00
Chad Versace
1ee2d1c3fc
vk/image: Teach anv_image_choose_tile_mode about WMAJOR
2015-06-09 16:38:55 -07:00
Chad Versace
2d2e148952
vk/util: Add anv_abortf(), anv_abortfv()
...
Convenience functions to print an error message then abort.
2015-06-09 16:38:50 -07:00
Chad Versace
ffb1ee5d20
vk: Define anv_noreturn macro
2015-06-09 16:38:46 -07:00
Chad Versace
f1db3b3869
vk/image: Factor tile mode selection into separate function
...
Because it will eventually need to get smarter.
2015-06-09 16:38:42 -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
634a6150b9
vk/pipeline: Zero out the depth-stencil state when not in use
2015-06-09 16:26:55 -07:00
Jason Ekstrand
919e7b7551
vk/device: Use anv_CreateDynamicViewportState instead of the vk one
2015-06-09 16:01:56 -07:00