summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* anv/meta: Allocate descriptor pools on-the-flyJason Ekstrand2016-02-234-33/+39
| | | | | | | We can't use a global descriptor pool like we were because it's not thread-safe. For now, we'll allocate them on-the-fly and that should work fine. At some point in the future, we could do something where we stack-allocate them or allocate them out of one of the state streams.
* anv/descriptor_set: Set descriptor type for immuatable samplersJason Ekstrand2016-02-221-2/+11
|
* intel/genxml: Update macro documentationJason Ekstrand2016-02-221-2/+2
|
* anv/state: Replace a bunch of ANV_GEN with GEN_GENJason Ekstrand2016-02-221-6/+6
|
* anv/descriptor_set: Stop marking everything as having dynamic offsetsJason Ekstrand2016-02-221-2/+4
|
* anv: Implement descriptor poolsKristian Høgsberg Kristensen2016-02-225-45/+200
| | | | | | | | Descriptor pools are an optimization that lets applications allocate descriptor sets through an externally synchronized object (that is, unlocked). In our case it's also plugging a memory leak, since we didn't track all allocated sets and failed to free them in vkResetDescriptorPool() and vkDestroyDescriptorPool().
* anv/x11: Free swapchain images and memory on destroyKristian Høgsberg Kristensen2016-02-221-1/+5
|
* vulkan: fix out-of-tree buildsMark Janes2016-02-221-0/+1
|
* intel/genxml: Add READMEKristian Høgsberg Kristensen2016-02-221-0/+60
| | | | | | | I've had people ask about the design of the pack functions, for example, why aren't we using bitfields. I wrote up a bit of background on why and how we ended up with the current design and we might as well keep that with the code.
* anv/meta_blit: Handle compressed textures in anv_CmdCopyImageNanley Chery2016-02-221-25/+37
| | | | | | | As with anv_CmdCopyBufferToImage, compressed textures require special handling during copies. Reviewed-by: Kristian Høgsberg Kristensen <[email protected]>
* nir/spirv: Add support for multisampled texturesJason Ekstrand2016-02-211-12/+19
|
* anv: Fix a typo in apply_dynamic_offsetsJason Ekstrand2016-02-201-2/+2
| | | | shader->num_uniforms is in terms of bytes in i965.
* anv: Zero out the WSI array when initializing the instanceJason Ekstrand2016-02-201-0/+2
|
* isl: Stop including mesa/main/imports.hJason Ekstrand2016-02-202-1/+2
| | | | It pulls in all sorts of stuff we don't want.
* genxml: Add mote includes in the generated headersJason Ekstrand2016-02-201-0/+3
|
* anv: Get rid of GENX_FUNCJason Ekstrand2016-02-202-63/+7
| | | | It was a bad idea.
* anv: Switch over to the macros in genxmlJason Ekstrand2016-02-2013-275/+122
|
* intel/genxml: Add a couple of helper headersJason Ekstrand2016-02-202-0/+188
|
* genxml: Stop using unicode in the pack generatorJason Ekstrand2016-02-191-1/+1
| | | | | This causes python problems and problems when people don't have a locale set properly in their shell.
* anv: fix warning about unused width variable.Dave Airlie2016-02-191-2/+1
| | | | We don't use width outside the debug clause here.
* anv/pipeline: Fix a typo in the pipeline layout codeJason Ekstrand2016-02-181-1/+1
|
* anv/allocator: Set is_winsys_bo to false for block pool BOsJason Ekstrand2016-02-181-0/+1
|
* vulkan: fix out-of-tree buildMark Janes2016-02-181-0/+1
| | | | | | We need to be able to find the generated gen*pack.h headers. Acked-by: Jason Ekstrand <[email protected]>
* anv/pipeline: Use nir's num_images for allocating image_paramsJason Ekstrand2016-02-182-4/+6
|
* nir/gather_info: Count textures and imagesJason Ekstrand2016-02-181-0/+17
|
* anv/pipeline: Don't leak the binding mapJason Ekstrand2016-02-183-0/+8
|
* anv/formats: Don't use a compound literal to initialize a const arrayJason Ekstrand2016-02-181-2/+2
| | | | | Doing so makes older versions of GCC rather grumpy. Newere GCC fixes this, but using a compound literal isn't really gaining us anything anyway.
* Move the intel vulkan driver to src/intel/vulkanJason Ekstrand2016-02-1856-6/+5
|
* Move isl to src/intelJason Ekstrand2016-02-1827-6/+4
|
* vulkan: Move XML and generator into src/intel/genxmlJason Ekstrand2016-02-1822-33/+82
|
* anv/meta: Initialize blend state for the right attachmentKristian Høgsberg Kristensen2016-02-181-10/+11
| | | | | We were always initializing only RT 0. We need to initialize the RT we're creating the clear pipeline for.
* anv/meta: Don't use the blit ds layout in resolve codeKristian Høgsberg Kristensen2016-02-181-1/+1
|
* Delete nir_lower_samplers.cppJason Ekstrand2016-02-171-248/+0
| | | | | Somehow, in one of the merges with mesa master, the old file must have been kept when nir_lower_samplers.cpp was moved to nir_lower_samplers.c.
* anv: Gut anv_pipeline_layoutJason Ekstrand2016-02-172-97/+13
| | | | | Almost none of the data in anv_pipeline_layout is used anymore thanks to doing real layout in the pipeline itself.
* anv: Build the real pipeline layout in the pipelineKristian Høgsberg Kristensen2016-02-176-118/+201
| | | | | | | | | This gives us the chance to pack the binding table down to just what the shaders actually need. Some applications use very large descriptor sets and only ever use a handful of entries. Compacted binding tables should be much more efficient in this case. It comes at the down-side of having to re-emit binding tables every time we switch pipelines, but that's considered an acceptable cost.
* nir/spirv: Add some more capabilitiesJason Ekstrand2016-02-171-2/+9
|
* anv/pipeline: Delete out-of-bounds fragment shader outputsJason Ekstrand2016-02-171-0/+13
|
* nir: Add a helper for getting the one function from a shaderJason Ekstrand2016-02-171-0/+9
|
* nir: Add a nir_foreach_variable_safe helperJason Ekstrand2016-02-171-0/+3
|
* i965/nir: Do lower_io late for fragment shadersJason Ekstrand2016-02-173-2/+6
|
* anv/gen7_pipeline: Set WriteDisable = true if we have no color attachmentsJason Ekstrand2016-02-171-5/+5
|
* anv/gen8_pipeline: Default color attachments to WriteDisable = trueJason Ekstrand2016-02-171-0/+7
|
* anv: Pull StencilBufferWriteEnable from both sidesJason Ekstrand2016-02-171-1/+2
|
* anv: Ignore unused dimensions in vkCreateImage's anv_imageNanley Chery2016-02-171-0/+2
| | | | | | | We ignore unused dimensions in the isl surface; do the same for the resulting anv_image. Reviewed-by: Kristian Høgsberg Kristensen <[email protected]>
* spirv: Fix SpvOpFwidth, SpvOpFwidthFine and SpvOpFwidthCoarseKristian Høgsberg Kristensen2016-02-171-3/+3
| | | | | | | "Result is the same as computing the sum of the absolute values of OpDPdx and OpDPdy on P." We were doing sum of absolute values of OpDPdx of P and OpDPdx of NULL.
* anv: Remove hacky PIPE_CONTROL in vkCmdEndRenderPass()Kristian Høgsberg Kristensen2016-02-171-14/+0
| | | | | The vkCmdPipelineBarrier() command should work as intended now and we need to pull the plug on this old hack.
* anv: Rework vkCmdPipelineBarrier()Kristian Høgsberg Kristensen2016-02-171-60/+62
| | | | | | | | | | | | We don't need to look at the stage flags, as we don't really support any fine-grained, stage-level synchronization. We have to do two PIPE_CONTROLs in case we're both flushing and invalidating. Additionally, if we do end up doing two PIPE_CONTROLs, the first, flusing one also has to stall and wait for the flushing to finish, so we don't re-dirty the caches with in-flight rendering after the second PIPE_CONTROL invalidates.
* anv: Ignore unused dimensions in vkCreateImageKristian Høgsberg Kristensen2016-02-171-3/+18
| | | | | | | | | | | | | | | | We would assert on unused dimensions (eg extent.depth for VK_IMAGE_TYPE_2D) not being 1, but the specification doesn't put any constraints on those. For example, for VK_IMAGE_TYPE_1D: "If imageType is VK_IMAGE_TYPE_1D, the value of extent.width must be less than or equal to the value of VkPhysicalDeviceLimits::maxImageDimension1D, or the value of VkImageFormatProperties::maxExtent.width (as returned by vkGetPhysicalDeviceImageFormatProperties with values of format, type, tiling, usage and flags equal to those in this structure) - whichever is higher" We'll fix up the arguments to isl to keep isl strict in what it expects.
* anv: Set correct write domain on window system BOsKristian Høgsberg Kristensen2016-02-175-3/+15
| | | | | | We need to make sure GEM understands that we're writing to the BO, in case it needs to synchronize with other rings (blitter use in display server, for example).
* Revert "anv: Disable snooping for allocator pools again"Kristian Høgsberg Kristensen2016-02-161-0/+2
| | | | | | | | | | | | This reverts commit c136672c593399e831db0da8b8cc6d8a5d73c1d3. We still have the intermittent missing flush for VkEvent in certain vulkancts cases: piglit.deqp-vk.api.command_buffers.execute_large_primary piglit.deqp-vk.api.command_buffers.submit_count_non_zero, Let's reenable the snooping until we figure out the root cause.