- Nov 07, 2017
-
-
Lina Versace authored
-
Lina Versace authored
Replaced by VK_EXT_external_memory_dma_buf and VK_EXT_image_drm_format_modifier.
-
Lina Versace authored
The draft spec lives at http://kiwitree.net/~chadv/vulkan/#1.0-VK_EXT_image_drm_format_modifier. This extension spec has a complete, working API. I'm happy with the API, and believe it's good enough. But the spec language has some outstanding issues that prevent it from being submitted as-is to Khronos: the spec language needs more polish, and the appendix chaper has a list of incomplete TODOs.
-
Lina Versace authored
Incremental implementation of VK_EXT_image_drm_format_modifier.
-
Lina Versace authored
Incremental implementation of VK_EXT_image_drm_format_modifier.
-
Lina Versace authored
Incremental implementation of VK_EXT_image_drm_format_modifier.
-
Lina Versace authored
Incremental implementation of VK_EXT_image_drm_format_modifier.
-
Lina Versace authored
Incremental implementation of VK_EXT_image_drm_format_modifier.
-
Lina Versace authored
The draft spec lives at http://kiwitree.net/~chadv/vulkan/#1.0-VK_EXT_queue_family_foreign. I plan to ask Khronos to merge the spec this week. By itself, this extension does nothing. It's only useful in its interaction with other external memory extensions. In the short term, at least, anvil will do nothing on transitions to/from the foreign queue. There does exist, though, some possibility to eventually distinguish between transitions on VK_QUEUE_FAMILY_EXTERNAL_KHR and VK_QUEUE_FAMILY_FOREIGN_EXT for ccs_e images.
-
Lina Versace authored
The draft spec lives at http://kiwitree.net/~chadv/vulkan/#1.0-VK_EXT_external_memory_dma_buf. I plan to ask Khronos to merge the spec this week.
-
Lina Versace authored
This allows me to build apps against new extensions without installing an updated loader.
-
Lina Versace authored
-
Lina Versace authored
Its helper function, anv_surface_get_subresource_layout(), was not very helpful. So fold it into the main function.
-
Lina Versace authored
Instead of choosing the tiling flags inside make_surface(), which is called once per aspect in a loop, and which chooses the same tiling for each aspect, choose the tiling flags exactly once before entering the aspect loop.
-
Lina Versace authored
The same local variable, 'plane_format', was returned on success *and* failure. Be more explicit in distinguishing the two cases: return 'plane_format' on success and return 'unsupported' on failure. This simplifies the diff in upcoming patches for VK_EXT_image_drm_format_modifier.
-
Lina Versace authored
Fold its body into its sole caller, anv_GetPhysicalDeviceFormatProperties().
-
Lina Versace authored
Now that get_image_format_properties() returns the correct VkFormatFeatureFlags, we can remove the unneeded if-branch and some local variables.
-
Lina Versace authored
Now that get_image_format_features() has a VkImageTiling parameter, we can bypass anv_physical_device_get_format_properties() and call get_image_format_features() directly.
-
Lina Versace authored
The name is misleading. It looks like vkGetPhysicalDeviceImageFormatProperties(), but it actually implement vkGetPhysicalDeviceFormatProperties. Let's rename it to what it actually does, get_image_format_features(), because it returns VkFormatFeatureFlags. For consistency, also rename get_buffer_format_properties() to get_buffer_format_features().
-
Lina Versace authored
Teach it to calculate the format features for YCbCr. The goal (which is completed in this patch) is to incrementally fix get_image_format_properties() to return a correct result. Previously, it returned incorrect VkFormatFeatureFlags which the caller needed clean up.
-
Lina Versace authored
Teach it to calculate the format features for 3-channel formats. The goal is to incrementally fix get_image_format_properties() to return a correct result. Currently, it returns incorrect VkFormatFeatureFlags which the caller must clean up.
-
Lina Versace authored
Replace parameters 'enum isl_format' and 'struct anv_format_plane' with new parameter 'const struct anv_format *'. The goal is to incrementally fix get_image_format_properties() to return a correct result. Currently, it returns incorrect VkFormatFeatureFlags which the caller must clean up.
-
Lina Versace authored
Rename parameter 'base' to 'base_isl_format'.
-
Lina Versace authored
Rename parameter 'format' to 'plane_format'. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
-
Lina Versace authored
Teach it to calculate the format features for ASTC. The goal is to incrementally fix get_image_format_properties() to return a correct result. Currently, it returns incorrect VkFormatFeatureFlags which the caller must clean up. v2: New commit message Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (v1)
-
Lina Versace authored
Teach it to calculate the features of depthstencil formats. The goal is to incrementally fix get_image_format_properties() to return a correct result. Currently, it returns incorrect VkFormatFeatureFlags which the caller must clean up. v2: New commit message Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (v1)
-
Lina Versace authored
Some functions have a comment that says "Exactly one bit must be in 'aspect'". So change the type of their 'aspect' parameter from VkImageAspectFlags to VkImageAspectFlagBits.
-
Lina Versace authored
Make it a stand-alone function. Pre-patch, for some formats the function returned incorrect VkFormatFeatureFlags which were cleaned up by the caller. This prepares for a cleaner implementation of VK_EXT_image_drm_format_modifier. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
-
Lina Versace authored
I saw VK_IMAGE_ASPECT_ANY_COLOR_BIT while hacking anv_formats.c and got confused. "Huh? What extension added that?". No extension defines it; anv_private.h defines it. To remove confusion, rename the anv-private VK tokens as if they were extension tokens with the ANV vendor suffix. I found only two such tokens: VK_IMAGE_ASPECT_ANY_COLOR_BIT VK_IMAGE_ASPECT_PLANES_BITS Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
-
Lina Versace authored
In anv_physical_device_get_format_properties(). Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
-
Mun Gwan-gyeong authored
Signed-off-by: Mun Gwan-gyeong <elongbug@gmail.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
-
- Nov 06, 2017
-
-
Commit 259fc505 added linker error for mismatching uniform precision, as required by GLES 3.0 specification and conformance test-suite. Several Android applications, including Forge of Empires, have shaders which violate this rule, on a dead varying that will be eliminated. The problem affects a big number of applications using Cocos2D engine and other GLES implementations accept this, this poses a serious application compatibility issue. Starting from GLSL ES 3.0, declarations with conflicting precision qualifiers are explicitly prohibited. However GLSL ES 1.00 does not clearly specify the behavior, except that "Uniforms are defined to behave as if they are using the same storage in the vertex and fragment processors and may be implemented this way. If uniforms are used in both the vertex and fragment shaders, developers should be warned if the precisions are different. Conversion of precision should never be implicit." The word "used" is not clear in this context and might refer to 1) declared (same as GLES 3.x) 2) referred after post-processing, or 3) linked after all optimizations are done. Looking at existing applications, 2) or 3) seems to be widely adopted. To avoid compatibility issues, turn the error into a warning if GLSL ES version is lower than 3.0 and the data is dead in at least one of the shaders. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97532 Signed-off-by: Tomasz Figa <tfiga@chromium.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-
Timothy Arceri authored
Fixes: 379b24a4 "i965: make use of nir linking" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103537 Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
-
Dave Airlie authored
We can avoid adding the buffer in the non-local case, this will avoid all the overhead of the indirect call. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
The next patch will try and avoid calling the indirect function. v2: add a missing conversion. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
The function that calls us has just added the buffer to the list already, no need to try and add it again. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-
Dave Airlie authored
There's no point recalculating these the whole time on descriptor emission, just store them at pipeline creation. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-
Adam Jackson authored
Requires an unreleased X server, but from the client GLX side this is as done as it gets. Signed-off-by: Adam Jackson <ajax@redhat.com>
-
Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Neil Roberts <neil@linux.intel.com>
-
Adam Jackson authored
Hilariously this is a fairly big win. Neil's multi-context-test improves from ~24 to ~36 fps with llvmpipe on a Core i5-3317U. softpipe also improves, from about 2.25 to 3.09 fps (when it's that slow, you're allowed to be that precise). I'd have added it to swrast classic, but the testcase wants GL 3.0 and shaders, and that's not a thing classic has, so I figured making it work on softpipe was crime enough. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
-