summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2022-07-28Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio
The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
2022-07-28Merge pull request #63571 from RandomShaper/conservative_validate_vrsRémi Verschelde
2022-07-28Improve handling of the format of the VRS imagePedro J. Estébanez
- Validate format conservatively. (This is to have VRS images created regardless whether VRS attachments are supported, which avoids errors in places where the code assumes such images were created on low-spec GPUs.) - Create a non-layered default VRS image, which is what Vulkan (and D3D12, by the way) expect.
2022-07-28Merge pull request #57698 from ↵Rémi Verschelde
bluenote10/feature/rename_translated_to_translated_local
2022-07-27Remove unintended string copiesPedro J. Estébanez
2022-07-27Merge pull request #63296 from RandomShaper/fix_vk_singleviewRémi Verschelde
2022-07-27Fill view and correlation masks correctly for single view in Vulkan RDPedro J. Estébanez
2022-07-27Merge pull request #63314 from RandomShaper/validate_vrs_formatRémi Verschelde
2022-07-27Merge pull request #62364 from clayjohn/GLES3-sky-optimizationRémi Verschelde
2022-07-27Merge pull request #63477 from Chaosus/shader_fix_fogRémi Verschelde
2022-07-27Merge pull request #63345 from BastiaanOlij/split_geometry_instanceRémi Verschelde
Cleanup RendererSceneRender::GeometryInstance
2022-07-27Fix `FOG` built-in in spatial/fragment shaderYuri Rubinsky
2022-07-27Change RendererSceneRender::GeometryInstance so more code is shared among ↵Bastiaan Olij
renderers
2022-07-26Merge pull request #63323 from RandomShaper/const_ref_capabilitiesRémi Verschelde
Avoid copies of structures when returning Vulkan capabilities
2022-07-26Implement shader uniform groups/subgroupsYuri Rubinsky
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23Merge pull request #62513 from reduz/shader_preprocessor_remakeRémi Verschelde
2022-07-22Merge pull request #62478 from BastiaanOlij/split_effects_20220628Rémi Verschelde
2022-07-22Clean up Shader Preprocessorreduz
* Moved preprocessor to Shader and ShaderInclude * Clean up RenderingServer side * Preprocessor is separate from parser now, but it emits tokens with include location hints. * Improved ShaderEditor validation code * Added include file code completion * Added notification for all files affected by a broken include.
2022-07-22Avoid copies of structures when returning Vulkan capabilitiesPedro J. Estébanez
2022-07-22Validate texture format for VRS attachmentPedro J. Estébanez
2022-07-21Rename OSX to macOS and iPhoneOS to iOS.bruvzg
2022-07-20Merge pull request #63237 from RandomShaper/amend_error_msgRémi Verschelde
2022-07-20Improve `linuxbsd` headless building, cleanup build scriptsRiteo
Now the `linuxbsd` platform can be built headlessly (e.g. without X11 development libraries). I also cleaned up some weird (old?) usages of the `env` variable which seem to make no difference and are used nowhere else.
2022-07-20Improve messages about VRSPedro J. Estébanez
2022-07-20Add missing fields to VkRenderPassCreateInfo2KHR structBastiaan Olij
2022-07-19Move screen space effects into a separate classBastiaan Olij
2022-07-18Merge pull request #63057 from sakrel/vulkan-fix-2d-shadowsRémi Verschelde
2022-07-18Merge pull request #62265 from d-robbins/specular_shininess_usedRémi Verschelde
2022-07-18Merge pull request #62848 from RandomShaper/shader_writability_improvementRémi Verschelde
2022-07-18Enhance determination of uniform writability in Vulkan RDPedro J. Estébanez
- Check block decoration in addition to type decoration to be sure to find `readonly` decorators - Verify uniforms have same writability across all shader stages in Vulkan RD
2022-07-18Improve versioning of shader binary data filesPedro J. Estébanez
- Include Godot version and commit hash in shader cache key - Reject files when format doesn't match, even if it's lower, since we don't have backwards compatibility here
2022-07-18added usage_defines for SPECULAR_SHININESSDavid R
added usage defines for opengl3 renderer
2022-07-17Update comments in vulkan_context.cppAaron Franke
Co-authored-by: Quinn Leavitt <59779489+QuinnLeavitt@users.noreply.github.com>
2022-07-17Adding Variable Rate Shading support to GodotBastiaan Olij
Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
2022-07-16rename translate(d) to translate(d)_local in Transform 2D/3DFabian Keller
2022-07-15Fix DirectionalLight2D and PointLight2D shadows not rendering correctlysakrel
2022-07-13Rename soft shadow quality project settings for easier searchingHugo Locurcio
`rendering/quality/shadows` is now `rendering/quality/positional_shadow` to explicitly denote that the settings only affect positional light shadows, not directional light shadows. Shadow atlas settings now contain the word "atlas" for easier searching. Soft shadow quality settings were renamed to contain the word "filter". This makes the settings appear when searching for "filter" in the project settings dialog, like in Godot 3.x.
2022-07-07Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows ↵bruvzg
filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose.
2022-07-06Prevent possible crash when mesh is freedYuri Rubinsky
2022-07-06Merge pull request #62344 from BastiaanOlij/extract_dependenciesRémi Verschelde
2022-07-06Remove unused anisotropy setter/getter methods in VoxelGIHugo Locurcio
These methods weren't exposed to the scripting API. Anisotropy was used in earlier iterations of VoxelGI, but it was removed as it was too expensive.
2022-07-05Add Desktop to file dialog drive on UnixShlomi
2022-07-05Add full support for Android scoped storage.Fredia Huya-Kouadio
This was done by refactoring directory and file access handling for the Android platform so that any general filesystem access type go through the Android layer. This allows us to validate whether the access is unrestricted, or whether it falls under scoped storage and thus act appropriately.
2022-07-02Vulkan: Make `loader_get_json` "error" a verbose message on WindowsRémi Verschelde
In far most cases it seems like it's going to message about bogus manifests in the Windows registry which point to JSON files which have since been uninstalled, but without clearing the registry. This happens with bogus Vulkan overlays from Twitch, Epic Online Services, NVIDIA Nsight Systems, OBS Studio, Rockstar Games... fix your mess folks. Fixes #56089.
2022-07-02SCons: Properly track codegen script dependency for generated GLSL headersRémi Verschelde
2022-06-30Use a more robust method of determining writability of bindingsPedro J. Estébanez
2022-06-28Avoid manual memory management of certain arrays in Vulkan RDPedro J. Estébanez
2022-06-28Fix confusion between Vulkan and RD storage buffer usage valuesPedro J. Estébanez