Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #84852 from Alex2782/fix_vulkan_buffer_android | Rémi Verschelde | 2023-12-04 | 1 | -1/+4 |
|\ | | | | | | | Vulkan: Fix incorrect access to the buffers on Android | ||||
| * | Vulkan: Fix incorrect access to the buffers on Android | Alexander Hartmann | 2023-11-15 | 1 | -1/+4 |
| | | |||||
* | | Merge pull request #83736 from darksylinc/matias-broken_buffer_update | Rémi Verschelde | 2023-12-04 | 1 | -1/+1 |
|\ \ | |/ |/| | | | Fix buffer updates going to the wrong cmd buffer if barriers were 0 | ||||
| * | Fix buffer updates going to the wrong cmd buffer if barriers were 0 | Matias N. Goldberg | 2023-10-21 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From what I could see only SSAO & SSIL were affected when they both call: int zero[1] = { 0 }; RD::get_singleton()->buffer_update(ssao.importance_map_load_counter, 0, sizeof(uint32_t), &zero, 0); int zero[1] = { 0 }; RD::get_singleton()->buffer_update(ssil.importance_map_load_counter, 0, sizeof(uint32_t), &zero, 0); Also documented what setup_command_buffer & draw_command_buffer are for. | ||||
* | | Fix various typos with codespell | Rémi Verschelde | 2023-11-11 | 1 | -1/+1 |
|/ | | | | Using 2.2.7.dev51+geb4a58fe. | ||||
* | Bump version of Vulkan RD binary shader format | Pedro J. Estébanez | 2023-10-18 | 1 | -1/+2 |
| | |||||
* | Vertex and attribute compression to reduce the size of the vertex format. | clayjohn | 2023-10-05 | 1 | -5/+6 |
| | | | | | | | | | | | | | This allows Godot to automatically compress meshes to save a lot of bandwidth. In general, this requires no interaction from the user and should result in no noticable quality loss. This scheme is not backwards compatible, so we have provided an upgrade mechanism, and a mesh versioning mechanism. Existing meshes can still be used as a result, but users can get a performance boost by reimporting assets. | ||||
* | Workaround crash due to null shader when running XR project with --xr-mode off | Lyuma | 2023-10-02 | 1 | -0/+1 |
| | |||||
* | Add FidelityFX Super Resolution 2.2 (FSR 2.2.1) support. | Dario | 2023-09-25 | 1 | -2/+10 |
| | | | | Introduces support for FSR2 as a new upscaler option available from the project settings. Also introduces an specific render list for surfaces that require motion and the ability to derive motion vectors from depth buffer and camera motion. | ||||
* | Expose texture_create_from_extension to GDExtension | Shawn Wallace | 2023-09-23 | 1 | -1/+1 |
| | |||||
* | Polish a few things in Vulkan RD | Pedro J. Estébanez | 2023-09-19 | 1 | -7/+4 |
| | |||||
* | Fix validation error when using pipeline cache control | Matias N. Goldberg | 2023-09-16 | 1 | -1/+1 |
| | | | | | | | | PR #80296 introduced a regression because it checks if the VK_EXT_pipeline_creation_cache_control extension has been enabled before using it, but turns out the process is a bit more convoluted than that (a Vulkan driver may support the extension but then say the feature is not supported) | ||||
* | [Drivers,Platform] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable | A Thousand Ships | 2023-09-12 | 1 | -67/+67 |
| | |||||
* | Enhance Vulkan PSO caching | Pedro J. Estébanez | 2023-08-30 | 1 | -75/+90 |
| | |||||
* | Fix missing EARLY_FRAGMENT_TESTS_BIT barrier flags | Matias N. Goldberg | 2023-08-27 | 1 | -4/+9 |
| | |||||
* | Fix Vulkan texture update | bitsawer | 2023-08-19 | 1 | -1/+1 |
| | |||||
* | Merge pull request #80288 from pkpro/memcpy_into_nullptr | Rémi Verschelde | 2023-08-17 | 1 | -4/+7 |
|\ | | | | | | | Vulkan: Fix sanitizers error with empty shader name | ||||
| * | Vulkan: Fix sanitizers error with empty shader name | Pavel Kraynyukhov | 2023-08-09 | 1 | -4/+7 |
| | | | | | | | | Co-authored-by: Rémi Verschelde <rverschelde@gmail.com> | ||||
* | | Add buffer_copy method to RenderingDevice interface and an implementation ↵ | Dario | 2023-08-12 | 1 | -0/+58 |
|/ | | | | | | for the Vulkan driver. Direct buffer copies are required to perform certain operations more efficiently, as the only current alternative is to download the buffer to the CPU and upload it again. As the first use case, the new function is used when enabling motion vectors on multimeshes. | ||||
* | Initialize shader placeholders up front | clayjohn | 2023-08-03 | 1 | -29/+33 |
| | | | | | Then use the placeholder to create the shader instead of swapping RIDs This fixes a false positive that reported leaked shaders | ||||
* | Merge pull request #79606 from clayjohn/ShaderRD-compilation-groups | Yuri Sizov | 2023-08-01 | 1 | -3/+12 |
|\ | | | | | | | Shader rd compilation groups | ||||
| * | Add Shader compile groups to RD Shader system | clayjohn | 2023-07-21 | 1 | -3/+12 |
| | | | | | | | | | | | | | | | | This allows us to specify a subset of variants to compile at load time and conditionally other variants later. This works seamlessly with shader caching. Needed to ensure that users only pay the cost for variants they use | ||||
* | | Fix uninitialized variable ending up sent to Vulkan | Matias N. Goldberg | 2023-07-29 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first time a shader is compiled Godot performs the following: ```cpp for (uint32_t i = 0; i < SHADER_STAGE_MAX; i++) { if (spirv_data.push_constant_stages_mask.has_flag((ShaderStage)(1 << i))) { binary_data.push_constant_vk_stages_mask |= shader_stage_masks[i]; } } ``` However binary_data.push_constant_vk_stages_mask is never initialized to 0 and thus contains garbage data or'ed with the good data. This value is used by push constants (and many other things) thus it can be a big deal. Fortunately because the relevant flags are always guaranteed to be set (but not guaranteed to be unset), the damage is restricted to: 1. Performance (unnecessary flushing & over-excessive barriers) 2. Overwriting push descriptors already set (this would be serious, doesn't seem to be an issue) 3. Driver implementations going crazy when they see bits set they don't expect (unknown if this is an issue) This uninitialized value is later saved into the binary cache. Valgrind is able to detect this bug on the first run, but not on the subsequent ones because they data comes from a file. cache_file_version has been bumped to force rebuild of all cached shaders. Because the ones generated so far are compromised. | ||||
* | | Add custom texture create function | Bastiaan Olij | 2023-07-26 | 1 | -0/+23 |
| | | |||||
* | | Fix Vulkan multithreaded compute list and GPU particle processing | bitsawer | 2023-07-24 | 1 | -0/+2 |
| | | |||||
* | | Add missing thread-safe method macros to RD Vulkan submit and sync | Marc Gilleron | 2023-07-18 | 1 | -0/+12 |
|/ | |||||
* | Split raster barrier into vertex and fragment barrier | Bastiaan Olij | 2023-07-15 | 1 | -23/+66 |
| | |||||
* | fix threading bug in vulkan rendering device | Joe Marshall | 2023-06-28 | 1 | -0/+2 |
| | |||||
* | Expose RD::texture_native_handle | Bastiaan Olij | 2023-06-14 | 1 | -1/+1 |
| | |||||
* | Merge pull request #76348 from warriormaster12/pipeline-cache | Rémi Verschelde | 2023-06-01 | 1 | -2/+136 |
|\ | | | | | | | Implement Vulkan pipeline caching | ||||
| * | Implement Vulkan pipeline caching | warriormaster12 | 2023-05-31 | 1 | -2/+136 |
| | | |||||
* | | Merge pull request #77022 from sakrel/fix_buffer_get_data | Rémi Verschelde | 2023-05-24 | 1 | -3/+3 |
|\ \ | | | | | | | | | | RenderingDeviceVulkan::buffer_get_data: Use draw command buffer instead of setup command buffer | ||||
| * | | RenderingDeviceVulkan::buffer_get_data: Use draw command buffer instead of ↵ | sakrel | 2023-05-12 | 1 | -3/+3 |
| | | | | | | | | | | | | setup command buffer | ||||
* | | | Merge pull request #75945 from Calinou/renderingdevice-finalaction-fix-typo | Rémi Verschelde | 2023-05-24 | 1 | -1/+1 |
|\ \ \ | |/ / |/| | | | | | Fix typo in FinalAction `switch` statement in RenderingDevice | ||||
| * | | Fix typo in FinalAction `switch` statement in RenderingDevice | Hugo Locurcio | 2023-04-11 | 1 | -1/+1 |
| |/ | |||||
* | | fixed a query pool validation error | warriormaster12 | 2023-05-11 | 1 | -0/+5 |
| | | |||||
* | | Merge pull request #74711 from BastiaanOlij/add_texture_native_handle | Rémi Verschelde | 2023-05-09 | 1 | -0/+9 |
|\ \ | | | | | | | | | | Provide access to internal graphics handles for textures | ||||
| * | | For GDExternal use, provides access to internal graphics handles for textures | Bastiaan Olij | 2023-05-09 | 1 | -0/+9 |
| | | | |||||
* | | | Save cluster render shader from being optimized out entirely | Pedro J. Estébanez | 2023-05-08 | 1 | -0/+3 |
|/ / | |||||
* | | Merge pull request #75937 from RandomShaper/threaded_render_load | Rémi Verschelde | 2023-05-08 | 1 | -20/+0 |
|\ \ | | | | | | | | | | Allow creation of rendering buffers at any time | ||||
| * | | Allow creation of rendering buffers at any time | Pedro J. Estébanez | 2023-04-11 | 1 | -20/+0 |
| |/ | |||||
* | | Improve RenderingServer, RenderingDevice, ShaderGlobalsOverride documentation | Hugo Locurcio | 2023-05-06 | 1 | -14/+14 |
| | | | | | | | | This brings the overall class reference completion percentage from 87% to 92%. | ||||
* | | Fix unsupported sampler filter used for voxel GI | Pedro J. Estébanez | 2023-04-26 | 1 | -0/+12 |
| | | |||||
* | | Fix issues with Vulkan layout transitions | Pedro J. Estébanez | 2023-04-24 | 1 | -50/+52 |
|/ | |||||
* | Remove (or make verbose only) various debug prints. | bruvzg | 2023-03-20 | 1 | -1/+0 |
| | |||||
* | Avoid overflow when calculating ptr address for 3D textures in ↵ | clayjohn | 2023-03-06 | 1 | -1/+1 |
| | | | | RenderingDevice texture update | ||||
* | Make draw command labels thread safe | sakrel | 2023-02-10 | 1 | -0/+3 |
| | |||||
* | Merge pull request #70663 from EpEpDragon/feature_buffer_get_data_size_option | Rémi Verschelde | 2023-02-10 | 1 | -6/+14 |
|\ | | | | | | | Add optional size parameter to the RenderDevice buffer_get_data method. | ||||
| * | Added optional offset and size parameter to RenderDevice buffer_get_data method | EpEpDragon | 2023-01-06 | 1 | -6/+14 |
| | | |||||
* | | Add layer slice support to render device and render buffers | Bastiaan Olij | 2023-02-03 | 1 | -2/+6 |
| | |