Jason Ekstrand
65e0b304b6
vk: Add support for GetPhysicalDeviceLimits
2015-07-09 16:14:37 -07:00
Jason Ekstrand
f6d51f3fd3
vk: Add GetPhysicalDeviceFeatures
2015-07-09 16:14:37 -07:00
Chad Versace
5b75dffd04
vk/device: Fix vkEnumeratePhysicalDevices()
...
The Vulkan spec says that pPhysicalDeviceCount is an out parameter if
pPhysicalDevices is NULL; otherwise it's an inout parameter.
Mesa incorrectly treated it unconditionally as an inout parameter, which
could have lead to reading unitialized data.
2015-07-09 15:53:21 -07:00
Chad Versace
fa915b661d
vk/device: Move device enumeration to vkEnumeratePhysicalDevices()
...
Don't enumerate devices in vkCreateInstance(). That's where global,
device-independent initialization should happen. Move device enumeration
to the more logical location, vkEnumeratePhysicalDevices().
2015-07-09 15:41:17 -07:00
Chad Versace
c34d314db3
vk/device: Be consistent about path to DRM device
...
Function fill_physical_device() has a 'path' parameter, and struct
anv_physical_device has a 'path' member. Sometimes these are used;
sometimes hardcoded "/dev/dri/renderD128" is used instead.
Be consistent. Hardcode "/dev/dri/renderD128" in exactly one location,
during initialization of the physical device.
2015-07-09 15:27:26 -07:00
Jason Ekstrand
5a4ebf6bc1
vk: Move to the new pipeline creation API's
2015-07-08 17:30:18 -07:00
Jason Ekstrand
d29ec8fa36
vk/vulkan.h: Update to the new UpdateDescriptorSets api
2015-07-08 14:24:56 -07:00
Jason Ekstrand
c8577b5f52
vk: Add a macro for creating anv variables from vulkan handles
...
This is very helpful for doing the mass bunch of casts at the top of a
function. It will also be invaluable when we get type saftey in the API.
2015-07-08 14:24:14 -07:00
Jason Ekstrand
522ab835d6
vk/vulkan.h: Move over to the new border color enums
2015-07-08 11:44:52 -07:00
Jason Ekstrand
52940e8fcf
vk/vulkan.h: Add RenderPassBeginContents
2015-07-08 10:57:13 -07:00
Jason Ekstrand
e19d6be2a9
vk/vulkan.h: Add command buffer levels
2015-07-08 10:53:32 -07:00
Jason Ekstrand
8e05bbeee9
vk/vulkan.h: Update extension handling to rev 130
2015-07-08 10:38:07 -07:00
Jason Ekstrand
3c65a1ac14
vk/vulkan.h: Remove the MemoryRange stubs and add sparse stubs
2015-07-08 09:16:48 -07:00
Jason Ekstrand
bb6567f5d1
vk/vulkan.h: Switch BindObjectMemory to a device function and remove the index
2015-07-08 09:04:16 -07:00
Jason Ekstrand
e7acdda184
vk/vulkan.h: Switch to the split ProcAddr functions in 130
2015-07-07 18:51:53 -07:00
Jason Ekstrand
ef8980e256
vk/vulkan.h: Switch from GetObjectInfo to GetMemoryRequirements
2015-07-07 18:16:42 -07:00
Jason Ekstrand
d9c2caea6a
vk: Update memory flushing functions to 130
...
This involves updating the prototype for FlushMappedMemory, adding
InvalidateMappedMemoryRanges, and removing PinSystemMemory.
2015-07-07 17:22:31 -07:00
Jason Ekstrand
d5349b1b18
vk/vulkan.h: Constify the pFences parameter to ResetFences
2015-07-07 17:18:00 -07:00
Jason Ekstrand
0ff06540ae
vk: Implement the GetRenderAreaGranularity function
...
At the moment, we're just going to scissor clears so a granularity of 1x1
is all we need.
2015-07-07 17:11:37 -07:00
Jason Ekstrand
435b062b26
vk/vulkan.h: Add a PipelineLayout parameter to BindDescriptorSets
2015-07-07 17:06:10 -07:00
Jason Ekstrand
a35fef1ab2
vk/vulkan.h: Remove the pass argument from EndRenderPass
2015-07-07 16:22:23 -07:00
Jason Ekstrand
abbb776bbe
vk/vulkan.h: Remove programPointSize
...
Instead, we auto-detect whether or not your shader writes gl_PointSize. If
it does, we use 1.0, otherwise we take it from the shader.
2015-07-07 16:00:46 -07:00
Chad Versace
dff32238c7
vk/0.130: Stub vkCmdExecuteCommands()
2015-07-07 15:51:55 -07:00
Chad Versace
85c0d69be9
vk/0.130: Update vkCmdWaitEvents() signature
2015-07-07 15:49:57 -07:00
Chad Versace
f78d684772
vk: Stub vkCmdPushConstants() from 0.130 header
2015-07-07 15:46:19 -07:00
Chad Versace
18ee32ef9d
vk: Update vkCmdPipelineBarrier to 0.130 header
2015-07-07 15:43:41 -07:00
Jason Ekstrand
7fbed521bb
vk/vulkan.h: Remove the explicit primitive restart index
...
Unfortunately, this requires some non-trivial changes to the driver. Now
that the primitive restart index isn't given explicitly by the client, we
always use ~0 for everything like D3D does. Unfortunately, our hardware is
awesome and a 32-bit version of ~0 doesn't match any 16-bit values. This
means, we have to set it to either UINT16_MAX or UINT32_MAX depending on
the size of the index type. Since we get the index type from
CmdBindIndexBuffer and the rest of the VF packet from the pipeline, we need
to lazy-emit the VF packet.
2015-07-07 15:33:00 -07:00
Jason Ekstrand
1fb859e4b2
vk/vulkan.h: Remove client-settable pointSize from DynamicRsState
2015-07-07 12:35:32 -07:00
Jason Ekstrand
245583075c
vk/vulkan.h: Remove UINT8 index buffers
2015-07-07 11:26:49 -07:00
Jason Ekstrand
1f1b26bceb
vk/vulkan.h: Rename VkRect to VkRect2D
2015-07-06 17:47:18 -07:00
Jason Ekstrand
63c1190e47
vk/vulkan.h: Rename count to arraySize in VkDescriptorSetLayoutBinding
2015-07-06 17:43:58 -07:00
Jason Ekstrand
65f9ccb4e7
vk/vulkan.h: Remove VK_MEMORY_PROPERTY_PREFER_HOST_LOCAL_BIT
...
We weren't doing anything with it, so this is a no-op
2015-07-06 17:33:45 -07:00
Jason Ekstrand
68fa750f2e
vk/vulkan.h: Replace DEVICE_COHERENT_BIT with DEVICE_NON_COHERENT_BIT
2015-07-06 17:32:28 -07:00
Jason Ekstrand
2b404e5d00
vk: Rename CPU_READ/WRITE_BIT to HOST_READ/WRITE_BIT
2015-07-06 17:18:25 -07:00
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