Commit Graph

3512 Commits

Author SHA1 Message Date
Dzmitry Malyshau
16edd91976 Support writeTexture for surface textures 2022-01-12 13:31:03 -05:00
Dzmitry Malyshau
6bc896fe8c hal/vk: use stencil read/write masks 2022-01-11 13:38:40 -05:00
Dzmitry Malyshau
36220b4da5 Update WGSL example shaders to use assignment ops 2022-01-11 11:45:33 -05:00
Dzmitry Malyshau
1bab287eae Update naga to c0b7ac7 2022-01-11 11:45:33 -05:00
Dzmitry Malyshau
dbec075cdc Texture format MSAA capabilities 2022-01-11 09:32:25 -05:00
Dzmitry Malyshau
01f62baad2 Limits 1D texture mips to 1 2022-01-10 12:22:49 -05:00
Dzmitry Malyshau
f8a63c4055 hal/gles: small fixes for external context 2022-01-08 12:32:17 -05:00
Samuel Hurel
e924aa1a05 Add util::indirect helper structs 2022-01-07 11:39:26 -05:00
xiaopengli89
10a07e4807 Add raw_device for dx12, vulkan device 2022-01-06 12:59:08 -05:00
Dzmitry Malyshau
043e36c59a Test WebGPU backend with extra features 2022-01-06 12:48:40 -05:00
Dzmitry Malyshau
4bfa2722f7 hal: limit binding sizes to i32 2022-01-06 12:37:26 -05:00
Dzmitry Malyshau
eda3d4fa34 Update naga to 09d35f3 2022-01-05 23:33:43 -05:00
Lucas Kent
b88808b454 Replace run-wasm-example.sh with aliased rust crate (xtask) 2022-01-04 23:56:47 -05:00
Jakob Hellermann
bec6ec6235 fix compilation on wasm32-unknown-unknown without webgl feature (#2355) 2022-01-04 16:09:48 +00:00
Dzmitry Malyshau
75b885b0ca hal/gles: support externally initialized contexts 2022-01-04 00:23:47 -05:00
Alex S
43f09fdb21 Don't create array layer trackers for 3D textures. 2022-01-03 14:09:20 -05:00
Dzmitry Malyshau
55cbbdea62 metal: fix surface texture clear view 2021-12-31 11:41:00 -05:00
Dzmitry Malyshau
a1251dc36a Improve detection and validation of cubemap views 2021-12-30 11:34:40 -05:00
Dmitry Sharshakov
52f11d8d1f Search for different versions of libwayland
Workaround for distributions that do not have symlinks for Wayland libraries

Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
2021-12-30 10:58:39 -05:00
Connor Fitzgerald
276de0e2d6 Fix trac(y/ing) compile issue 2021-12-30 10:46:07 -05:00
Benoît du Garreau
66a661d14b Update ash to 0.35 2021-12-29 10:26:53 -05:00
Wumpf
2fa75aaf05 Do texture init via clear passes when possible (#2307)
* CLEAR_COMMANDS extension is now more of a window into wgpu zero-init
this has mostly implications on the constraints, but also allows a more leaky documentation which makes sense for this non-standard function as there is no other place to look it up

* clear_texture via renderpasses wip

* 3D depth textures are no longer allowed, volumes are always cleared via CPY_DST

* cleanup texture's clear_views

* rename CLEAR_COMMANDS to CLEAR_TEXTURE

* separate clear_texture into reusable & more descriptive parts

* texture clear views are now created ahead of time

* discarded surface fixup goes through new clear_texture method now

* onq ueue texture initialization now goes threw clear_texture
pending inits need to store Stored textures now though, causing more ref count bumping

* texture init on queue_write_texture now also goes through new clear_texture

* transfer functions on commandbuffer use now new texture init route

* merge collect_zero_buffer_copies_for_clear_texture into clear_texture_via_buffer_copies

* clear functions now take TextureInitRange

* Fix clippy lints

* command_encoder_clear_texture no longer takes write lock on texture

* TextureClearMode encodes now is_color

* code cleanup, mostly about `use`

* Handle volume textures in clear_texture_via_render_passes properly

* texture clear no longer requires id::Stored

* init tracking fixes for volumes and init on partial subresource writes

* texture creation enforces COPY_DST only if absolutely necessary

* unrolled functional chain, reduce unsafe scope size

* fix clippy lints

* clear_texture test no longer creates 1D textures

see #2323

* 3D textures are no longer cleared as render target since this isn't supported on Metal

* fix deno building issue, fix formatting

* TextureInner::Surface can now be zero initialized
2021-12-28 17:05:53 -05:00
victorvde
588777fa2d explicitly set Vulkan debug message types instead of !empty() (#2321)
Fixes:
  The Vulkan spec states: messageType must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values

Full message:
VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter(ERROR / SPEC): msgNum: -553000032 - Validation Error: [ VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xdf09e3a0 | vkCreateDebugUtilsMessengerEXT: value of pCreateInfo->messageType contains flag bits that are not recognized members of VkDebugUtilsMessageTypeFlagBitsEXT The Vulkan spec states: messageType must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter)
    Objects: 1
        [0] 0, type: 3, name: NULL
2021-12-28 00:15:20 -05:00
Wumpf
bdfddca628 [dx12] Fix partial texture barrier not affecting stencil aspect (#2308)
* [dx12] Fix partial texture barrier not affecting stencil aspect
Fix clearing of D24Plus also clearing "hidden" stencil

* [dx12] fix handling stencil only formats for clears & barriers
2021-12-26 12:07:08 -05:00
Wumpf
b0654e17af [example] fix conserative-raster low res target getting zero sized on resize (#2318)
* [example] fix conserative-faster low res target getting zero sized on resize

* [sample] conservative-raster: fix low res target aspect ratio being wrong
2021-12-26 12:02:21 -05:00
Dzmitry Malyshau
39b7a8a202 Update naga to 8df5421 2021-12-25 00:03:15 -05:00
TheOnlyMrCat
61fa8a3b63 Implement push constants for metal backend (#2314)
* Implement push constants for metal backend

* Clear push constants on reset; get upload size from layout
2021-12-24 19:49:57 +00:00
Josh Groves
97e6ea7b71 Improve shader source documentation (#2315)
- remove outdated note about WGSL web support
- try to combine the note about parsing/validation/translation
2021-12-24 03:00:57 +00:00
Alphyr
890f326461 Update ash to 0.34 (#2313) 2021-12-23 11:23:13 -05:00
Jonathan Behrens
a3b9fc3af6 Make ShaderSource #[non_exhaustive] 2021-12-22 17:15:57 -05:00
Dzmitry Malyshau
54f20bedef hal/dx12: Fix UMA check 2021-12-19 00:09:35 -05:00
MultisampledNight
b19288a78b Add defaults to new limits and correct older ones 2021-12-18 17:29:49 -05:00
Dzmitry Malyshau
c00e471274 Release 0.12 v0.12 2021-12-18 12:36:41 -05:00
Dzmitry Malyshau
ec1d022a75 Error scopes API (#2299) 2021-12-17 04:39:48 +00:00
Dzmitry Malyshau
18f644e19b hal: check for surface caps in the example (#2298) 2021-12-16 21:41:45 +00:00
stshine
f42342bbbf hal/dx12: enable TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES (#2295) 2021-12-16 14:40:19 +00:00
Dzmitry Malyshau
1e593a6bd3 Trace push/pop debug group on command encoder (#2294) 2021-12-15 17:48:48 +00:00
Dzmitry Malyshau
3960658529 Remove block decorations (#2292) 2021-12-15 12:29:37 -05:00
Dzmitry Malyshau
0e5892fa04 Update naga with Metal bounds checks (#2276) 2021-12-15 04:59:06 +00:00
Dzmitry Malyshau
6c2e8edb64 hal/gles: support ASTC, fix WebGL extensions for compressed formats (#2289) 2021-12-14 15:25:57 +00:00
Dzmitry Malyshau
f8beffe289 hal/dx12: expose WARP as a fallback adapter (#2290) 2021-12-14 15:05:28 +00:00
aloucks
79e42e08c3 Fix gles data type for 16bit unsigned normalized texture formats (#2288) 2021-12-13 14:57:04 -05:00
aloucks
70f7c375e0 Add feature gated 16-bit normalized texture support (#2282)
* Add feature gated 16-bit normalized texture support

Fixes #1934

* Query format properties only once

* Prevent supports_format from erroneously reporting false if the format wasn't queried

* Assert that 16bit norm formats also support  on vulkan

* Add storage to TextureFormatInfo for 16-bit norm formats now that we check for support
2021-12-13 12:31:16 -05:00
Victor van den Elzen
f875e32455 GLES Wayland: properly resize on configure (#2094) 2021-12-12 14:13:42 -05:00
Dzmitry Malyshau
873e83c54d Publish WebGL examples 2021-12-11 17:26:45 -05:00
Max Ammann
3b48ed28f3 Fix link to angle project 2021-12-10 10:25:32 -05:00
João Capucho
1446b5274f egl: Report if clamp to border is available 2021-12-09 21:28:46 -05:00
Dzmitry Malyshau
90685b5625 hal/vk: don't ask for 0 logging severity 2021-12-09 14:06:17 -05:00
Dzmitry Malyshau
a8caa367ee Add limits for compute storage and max invocations 2021-12-08 21:43:41 -05:00
Dzmitry Malyshau
c1c855bb98 Allow strip index format None if no indexed drawing is done 2021-12-07 18:58:06 -05:00