Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Davidp dr dev 01.devmods #23

Closed
wants to merge 236 commits into from
Closed

Davidp dr dev 01.devmods #23

wants to merge 236 commits into from

Conversation

panos-lunarg
Copy link
Owner

No description provided.

andrew-lunarg and others added 30 commits October 2, 2023 21:14
Update to Vulkan-Headers v1.3.265

Patch XML on fly for VkFrameBoundaryEXT.pTag
* Fixes update to Vulkan-Headers v1.3.264.
* Allows encode and decode of VkFrameBoundaryEXT.pTag to be generated correctly using the same code paths as for the two existing structures with a similar field. This is a workaround for a bug in the upstream vk.xml: <KhronosGroup/Vulkan-Docs#2240>.

Co-authored-by: Mike Schuchardt <[email protected]>
Added:    VK_ANDROID_external_format_resolve
Disabled: VK_NV_low_latency2

Updated GFXR Project Version to 1.0.1
The capture layer should always return layer implementation function
pointers for extensions that it implements, even if the underlying
layers/driver do not support them. This fixes VK_EXT_tooling_info on
Android 12 which could previously be enumerated but never returned a
function pointer for vkGetPhysicalDeviceToolPropertiesEXT.
Capture the vkFrameBoundaryANDROID function and treat it as a frame
delimiter. Since this is a private extension, this change also includes
a mechanism to extend the vk.xml tree before the code generators are
invoked.
267 looks pretty innocuous. The two new extensions add some simple
structs and some enum values.

Added: VK_EXT_nested_command_buffer
Added: VK_NV_extended_sparse_address_space

There are also fixes for small problems in 266.
Offscreen only need virtual_swapchain_images.
The error in the XML was fixed at Vulkan Headers release 1.3.267
so the patch is no longer needed.
Left the patching code in-place but commented-out as an example of
how to do it next time the spec has an error that affects codegen
(It contains Mike Magic).
This is a NOP for us. There are no changes to codegen.

This release is mostly valid usage json changes and minor
diffs to the OO .hpp wrappers.
When capturing trimmed under certain conditions texture data were dumped
to the capture file using a staging buffer and at during replay they
were loaded back to the texture without a staging buffer. This
occasionally led to corrupted textures. This patch should address this
issue
Brings clang arm64 -O2 compile time of
generated_vulkan_replay_consumer.cpp from 13 minutes to 30 seconds
The VulkanCaptureManager::Get() function is static and returns a pointer to the
current capture manager instance. While the compiler should inline these calls,
it may fail due to possible aliasing as the instance pointer is not const (but
should never change after setup).
It is better to call get once and explicitly put it in a local variable.

Only vkCreateInstance needs special handling, since it creates the
VulkanCaptureManager in the middle of the function.
Made it the sames as the underlying D3D12_STATE_SUBOBJECT field.
Although it is a custom struct, it should have the same name as
the raw struct field so that codegen sees it correctly.
Upgrade Agility SDK from 1.606.4 to 1.610.5, support new API calls and types.

* Upgrade to Agility SDK 1.610.5
* Add missing code paths for GetResourceAllocationInfo3
* Improve encode + decode for GetResourceAllocationInfo3
* Address static assert build failure
* Use code generation for GetResourceAllocationInfo3

---------

Co-authored-by: Rodrigo Urra <[email protected]>
It is good practice to avoid a default case that does nothing for
a switch case statement that switches on an enum so that the compiler
will complain if one of the enumerants is accidentally missed.
By extension it is good practice to always avoid such empty defaults
so as not to get in the habit of writing them and to save on lines
of code which do nothing.
distutils is deprecated in Python 3.12.  We were only using it for
version number checking, and only for "."-separated lists of integers;
we don't require the extended version syntax supported by PEP 440.

Simple version checking can be done easily via list comparison of integers,
which supports the same "less than" semantics as version comparison, without
requiring any external dependency.

build.py:
- use lists of integers to reflect versions being compared
panos-lunarg and others added 29 commits February 20, 2024 10:25
All api entries should check if resource dumping is enabled in the same
manner
Fixes in the scale image path:
- Pipeline barrier after Blit was using stale/wrong srcAccessMask and
dstAccessMask
- Some artifacts are seen on amd 7800 and on the S22 when Blit command
uses LINEAR filter. Switching to NEAREST appears to be fixing these
artifacts
- Stricter checks are performed if the implementation supports the
requested combination of image format and tiling. It is possible that an
implementation does not support to perform blit in some cases.
- Since scale is allowed to be greater than 1.0f the scaled image
dimensions need to be checked with the limits impossed by the
implementation

Other fixes in VulkanResourcesUtil:
- Fixes in some src access masks and stages
  - fix parsing when dump args are on command line
  - fix Windows compile errors
  - correct misspellings in error messages
  - fixed recent incorrect merge of USAGE_desktop_Vulkan.md
Fixed bug in which a short block output after a long block would
have stuff in it from the long block.
Recompiled with -fPIC parameter this time
…ompiled

Also updated these libs for win64
Also updated include header files for these libs
Also tweaked a CMakeLists.txt file
Some difficulties finding libjsoncpp between different platforms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.