Commit graph

1058 commits

Author SHA1 Message Date
Jason Ekstrand
cc389b1482 vk/0.170.2: Rename cs to stage in ComputePipelineCreateInfo 2015-10-06 10:11:50 -07:00
Jason Ekstrand
bd4cde708a vk/0.170.2: Rename fields in VkClearColorValue 2015-10-06 10:07:47 -07:00
Jason Ekstrand
81c7fa8772 vk/0.170.2: Rework blits to use ImageSubresourceCopy 2015-10-06 10:04:04 -07:00
Jason Ekstrand
d1908d2c33 vk/0.170.2: Rework parameters to CmdClearDepthStencil functions 2015-10-06 09:40:39 -07:00
Jason Ekstrand
02a9be31d6 vk/0.170.2: Add the flags parameter to GetPhysicalDeviceImageFormatProperties 2015-10-06 09:37:21 -07:00
Jason Ekstrand
a145acd812 vk/0.170.2: Remove the pCount parameter from AllocDescriptorSets 2015-10-06 09:32:01 -07:00
Jason Ekstrand
8ba684cbad vk/0.170.2: Rename extension and layer query functions 2015-10-06 09:25:03 -07:00
Jason Ekstrand
a6eba403e2 vk/0.170.2: Update to the new queue family properties query 2015-10-05 21:17:12 -07:00
Jason Ekstrand
65964cd49b vk/0.170.2: Re-arrange parameters of vkCmdDraw[Indexed] 2015-10-05 21:10:20 -07:00
Jason Ekstrand
05a26a60c8 vk/0.170.2: Make destructors return void 2015-10-05 20:50:51 -07:00
Jason Ekstrand
460676122f vk/0.170.2: Rename VkClearValue.ds to depthStencil 2015-10-05 20:35:08 -07:00
Jason Ekstrand
8e1ef639b6 vk/0.170.2: Add the subpass field to VkCmdBufferBeginInfo 2015-10-05 20:30:53 -07:00
Jason Ekstrand
757166592e vk/0.170.2: Rename pointer parameters of VkSubpassDescription 2015-10-05 20:26:21 -07:00
Jason Ekstrand
57f500324b vk/0.170.2: Add unnormalizedCoordinates to VkSamplerCreateInfo 2015-10-05 20:17:24 -07:00
Jason Ekstrand
f7c3519aaf vk/0.170.2: Rename VkTexAddress to VkTexAddressMode 2015-10-05 20:15:06 -07:00
Chad Versace
9357062348 vk: Merge anv_*_attachment_view into anv_attachment_view
Remove anv_color_attachment_view and anv_depth_stencil_view, merging
them into anv_attachment_view. This prepares for merging
VkAttachmentView into VkImageView.
2015-10-05 17:46:04 -07:00
Chad Versace
ae30535602 vk: Drop anv_attachment_view::extent
It's duplicated by anv_attachment_view::image_view::extent.
2015-10-05 17:46:04 -07:00
Chad Versace
f0f4dfa9cc vk: Drop anv_surface_view
Push the members of struct anv_surface_view into anv_image_view and
anv_buffer_view, then remove struct anv_surface_view. Observe that
anv_surface_view::range is not needed for anv_image_view, and so was
dropped there.

This prepares for the merge of VkAttachmentView into VkImageView. Remove
the common parent of anv_buffer_view and anv_image_view (that is,
anv_surface_view) will make the merge easier.
2015-10-05 17:46:04 -07:00
Chad Versace
74193a880f vk: Use consistent names for anv_*_view variables
Rename all anv_*_view variables to follow this convention:
    - sview -> anv_surface_view
    - bview -> anv_buffer_view
    - iview -> anv_image_view
    - aview -> anv_attachment_view
    - cview -> anv_color_attachment_view
    - ds_view -> anv_depth_stencil_attachment_view

This clarifies existing code. And it will reduce noise in the upcoming
commits that merge VkAttachmentView into VkImageView.
2015-10-05 17:46:04 -07:00
Chad Versace
ffd051830d vk: Unionize anv_desciptor
For a given struct anv_descriptor, all members are NULL (in which case
the descriptor is empty) or exactly one member is non-NULL.
To make struct anv_descriptor better reflect its set of valid states,
convert the struct into a tagged union.
2015-10-05 17:46:04 -07:00
Chad Versace
63439953d7 vk: Drop dependency on no longer extant header
anv_meta no longer uses GLSL shaders, and the build system no longer
converts them to SPIR-V. So remove anv_meta_spirv_autogen.h from
Makefile.am.

(cherry picked from commit 2fc8122f66)
2015-10-05 17:06:19 -07:00
Chad Versace
8bf021cf3d vk: Return anv_image_view_info by value
The struct is only 2 bytes. Returning it on the stack is better than
returning a reference into the ELF .data segment.
2015-10-05 13:22:44 -07:00
Chad Versace
4ffb4549e0 vk/image: Document a Vulkan spec requirement for depthstencil
The Vulkan spec (git a511ba2) requires support for some combined depth
stencil formats.
2015-10-05 13:18:44 -07:00
Chad Versace
3530224063 vk: Annotate anv_cmd_state::gen7::index_type
It's the value of 3DSTATE_INDEX_BUFFER.IndexFormat.
2015-10-05 08:58:35 -07:00
Chad Versace
9c93aa9141 vk: Better types for VkShaderStage, VkShaderStageFlags vars
In most places, the variable type was the uninformative uint32_t.
2015-10-05 08:55:09 -07:00
Chad Versace
7a089bd1a6 vk/0.170.2: Update VkImageSubresourceRange
Replace 'aspect' with 'aspectMask'.
2015-10-05 08:10:57 -07:00
Chad Versace
dd04be491d vk/0.170.2: Update Vk VkPipelineDepthStencilStateCreateInfo
Rename member depthBoundsEnable -> depthBoundsTestEnable.
2015-10-04 09:41:46 -07:00
Chad Versace
8cb2e27c62 vk/0.170.2: Update VkRenderPassBeginInfo
Rename members:
    attachmentCount -> clearValueCount
    pAttachmentClearValues -> pClearValues
2015-10-04 09:26:25 -07:00
Jason Ekstrand
09ba0a7c05 Merge remote-tracking branch 'mesa-public/master' into vulkan 2015-10-03 11:32:29 -07:00
Jason Ekstrand
ef56cf7738 Merge remote-tracking branch 'mesa-public/master' into vulkan 2015-10-02 16:52:47 -07:00
Jason Ekstrand
10f97718c3 anv/allocator: Add a sanity assertion in state stream finish.
We assert that the block offset we got while walking the list of blocks is
actually a multiple of the block size.  If something goes wrong and the GPU
decides to stomp on the surface state buffer we can end up getting
corruptions in our list of blocks.  This assertion makes such corruptions a
crash with a meaningful message rather than an infinite loop.
2015-10-02 16:24:42 -07:00
Jason Ekstrand
002e7b0cc3 anv: Remove the GLSL -> SPIR-V scraper/converter
This was very useful to get us up-and-going.  However, now that we can use
NIR directly for meta shaders, we don't need this anymore and we might as
well drop the glslc dependency.
2015-10-02 16:20:04 -07:00
Jason Ekstrand
f5ffb0e0cb anv/meta: Use NIR directly for blit shaders 2015-10-02 16:18:44 -07:00
Jason Ekstrand
7851a4392a anv/meta: Use NIR directly for clear shaders 2015-10-02 16:18:32 -07:00
Jason Ekstrand
add99c4beb anv: Add a back-door for passing NIR shaders directly into the pipeline
This will allow us to use NIR directly for meta operations rather than
having to go through SPIR-V.
2015-10-02 16:16:57 -07:00
Jason Ekstrand
b68805f83c anv: Add some NIR builder helpers
These should all eventually be up-streamed.  However, since they currently
have no upstream users, they would just bitrot there.  We'll keep them
local for the time being.
2015-10-02 16:15:53 -07:00
Jason Ekstrand
c1553653a2 vk/wsi/x11: Send OUT_OF_DATE if the X drawable goes away 2015-10-02 13:44:53 -07:00
Kristian Høgsberg Kristensen
005c8e0106 Merge branch 'master' of ../mesa into vulkan 2015-10-01 14:24:29 -07:00
Jason Ekstrand
337caee910 anv/wsi_x11: Properly report BadDrawable errors to the client 2015-09-28 20:18:41 -07:00
Jason Ekstrand
f06bc45b0c anv/batch_chain: Use the surface state pool for binding tables 2015-09-28 16:01:14 -07:00
Jason Ekstrand
d93f6385a7 anv/batch_chain: Add helpers for fixing up block_pool relocations 2015-09-28 16:01:14 -07:00
Jason Ekstrand
8c00f9ab56 anv/gen8: Do a render cache flush prior to changing state base address 2015-09-28 16:01:14 -07:00
Jason Ekstrand
0e94446b25 anv/device: Use a 4K block size for surface state blocks
We want to start using the surface state block pool for binding tables and
binding tables.  In order to do this, we need to be able to set surface
state base address to the address of a block and surface state base address
has a 4K alignment requriement.
2015-09-28 16:01:01 -07:00
Jason Ekstrand
737e89bc8d anv/meta: Use the dynamic state stream for temporary buffers 2015-09-28 16:01:01 -07:00
Jason Ekstrand
219a1929f7 anv/util: Add helpers for getting the first and last elements of a vector 2015-09-28 16:01:01 -07:00
Jason Ekstrand
95487668df anv/batch_chain: Add a _alloc_binding_table function 2015-09-28 16:01:01 -07:00
Jason Ekstrand
d517de6126 anv: Make anv_state.offset an int32_t
Binding tables will have a negative offset and we need a way to express
that.  Besides, the chances of a state offset being larger than 2 GB is so
remote it's not worth thinking about.
2015-09-28 16:01:01 -07:00
Jason Ekstrand
9ac3dde3a0 anv/wsi_wayland: Fix FIFO mode
Previously, there were a number of things we were doing wrong:

 1) We weren't flushing the wl_display so dead-looping clients weren't
    guaranteed to work.
 2) We were sending the frame event after calling wl_surface.commit() so it
    wasn't getting assigned to the correct frame
 3) We weren't actually setting fifo_ready to false.

Unfortunately, we never noticed because (3) was hiding the other two.  This
commit fixes all three and clients that use FIFO mode are now properly
refresh-rate limited.
2015-09-28 15:58:34 -07:00
Chad Versace
ddcedb979a vk: Implement vkGetPhysicalDeviceImageFormatProperties()
The implementation is incomplete because we lie about
VkImageFormatProperties::maxResourceSize, hardcoding it to UINT32_MAX
for all supported cases.
2015-09-28 11:53:39 -07:00
Chad Versace
9f3122db0e vk: Refactor anv_GetPhysicalDeviceFormatProperties()
Move the bulk of the function body to a new function
anv_physical_device_get_format_properties(). This allows us to reuse the
function when implementing anv_GetPhysicalDeviceImageFormatProperties()
without calling into the public entry point.
2015-09-28 11:53:39 -07:00