|
f6910a9a
|
2022-03-20T22:43:57
|
|
Vulkan: Update pipeline creation doc
Bug: angleproject:4889
Change-Id: Idb97d0484a716300feb9ed9a3fd882fbec870dbf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3539440
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c9e0da8e
|
2021-10-18T13:54:00
|
|
Vulkan: Improve wording in DeferredClears.md
Bug: angleproject:1944
Change-Id: I268e8191cfb7aeb16e33c1f9b39382461c5ac3e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226310
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e1bc8de3
|
2021-09-08T07:59:37
|
|
Change links from 'master' to 'main' branch.
Bug: chromium:1226949
Change-Id: Ie7b28b2fa094cf0c0a407968d681e580519cbb88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3148210
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f691b3b5
|
2020-12-02T13:11:54
|
|
Vulkan: Support PrimitivesGenerated query
This query uses the Vulkan transform feedback extension. In GL,
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN and GL_PRIMITIVES_GENERATED
queries can be independently begun/ended. However, Vulkan requires that
queries from pools of the same type can only be active one at a time.
This forbids the two GL queries from being handled by two VK queries
when they are simultaneously begun.
This change makes these queries share their QueryHelper objects. The
Vulkan transform feedback queries unconditionally retrieve both results
anyway, so this is just a matter of making sure the two GL queries are
merged as one when they are simultaneously used.
The change fixes a number of issues as collateral:
- TransformFeedbackPrimitivesWritten queries when !emulated were not
released
- Stashed queries were never released
- If no render pass is open when a query ends, then getResult(no_wait)
ended up waiting
Bug: angleproject:5404
Change-Id: I8ce13ea76ffd31b3152ded7c713c6466d0315504
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573580
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
251ba5cb
|
2020-12-03T15:55:47
|
|
Vulkan: Fix transform feedback with in-render-pass clears
An in-render-pass clear now pauses transform feedback so it wouldn't
contribute to it. Since it's not possible to resume the transform
feedback in the same render pass (as it needs a memory barrier for its
counter buffer), the render pass is broken after the clear.
Bug: angleproject:5426
Change-Id: I1eaf8c153d076bd912a4a08c65960c12f00341ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573579
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c55cd6b4
|
2020-10-14T23:06:27
|
|
Vulkan: Remove dead path in clear
If the clear is not mid render pass, clearWithLoadOp was used to either:
- modify the current render pass loadOps, assuming no rendering has been
done, or
- defer the clears by staging them in the attachment images.
The former path however is dead code. It's impossible to start the
render pass without recording any commands. In other words, if the
render pass has already started, the clear must be mid RP.
Bug: angleproject:4836
Change-Id: Idb1cb37b8a0e56b897ac69cf435f9a52be4bd2f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2473764
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dadd1986
|
2020-04-21T01:50:00
|
|
Implement GL_APPLE_clip_distance
- Built-in variable gl_ClipDistance has been added to compiler.
- Desktop GL: gl_ClipDistance is supported since GL 3.0. Enable/Disable
each gl_ClipDistances[i] works out of the box via glEnable().
- Vulkan/Metal: Use uniform variable to control writing to each
gl_ClipDistance. One bit flag controls one element in the gl_ClipDistance
array. The writing to the disabled element in vertex shader will be
ignored, and turned into zero assignment instead.
- Direct3D/Mobile GL: Not implemented yet.
- Added ClipDistanceTest to gl_tests and compiler unittests.
- GL_APPLE_clip_distance is a subset of GL_EXT_clip_cull_distance, so
GL_EXT_clip_cull_distance could be implemented in future if needed.
Bug: angleproject:4452
Change-Id: I571ac8b56826989808a680226a04bec4cf59988e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2084324
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c79b0ea5
|
2020-02-25T08:26:23
|
|
Vulkan: Document command access APIs.
Includes a short description of the ContextVk command APIs.
Also a few small cleanups to other Vulkan back-end documentation.
Bug: angleproject:4029
Change-Id: I3bd04861f27b718e6a94fdae00644c124452bc62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070597
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
94ec1e5f
|
2020-02-19T15:29:54
|
|
Vulkan: Update shader compilation documentation
Bug: angleproject:3394
Change-Id: If8df97644d07f258a8f1ea1bde6b6b3572f6d024
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062745
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b36e46ab
|
2020-01-08T15:49:18
|
|
Vulkan: Line raster emulation through specialization constant
In preparation for compiling shaders early at link time, this change
reworks line raster emulation such that it uses specialization constants
instead of a preprocessor condition. This means drawing both triangles
and lines with this program will still result in a one-time shader
compilation.
The compilation is still done at draw time in this change.
Bug: angleproject:3394
Change-Id: I0bf91398868d7f7147456533b728906b505192b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1992365
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
caa6eccd
|
2019-10-27T13:46:56
|
|
Vulkan: Implement Transform Feedback support via extension
Implemented transform feedback extension path. Where
VK_EXT_transform_feedback is supported, extension path will be taken
over an emulation path. Extension path has advantages in terms of
performance.
BUG=angleproject:3206
Test: dEQP-GLES3.functional.transform_feedback.*
angle_end2end_tests --gtest_filter=TransformFeedbackTest*
Change-Id: Ia07c23afb289d9c67073469a97b714ec96f5265a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1882767
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
3f647b1b
|
2019-11-09T16:24:50
|
|
Vulkan: Improve Bresenham line emulation.
Clamps the vertex position to the subpixel grid before interpolation.
This will give more correct results on systems that have less than
8 bits of subpixel accuracy.
Also uses a more accurate formulation for the emulation filter in the
fragment shader using dfdx and dfdy.
Fixes line raster CTS tests on SwiftShader. Still does not produce spec
conformant lines. Updates the public docs to indicate this.
Bug: angleproject:2830
Change-Id: Ib9a268df3e7d986bd2b1348be664389fe8fc0ef2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1826598
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a48f95ab
|
2019-10-14T14:49:49
|
|
Move Vulkan GlslangWrapper code to a shared location.
Metal backend will reuse Vulkan's GlslangWrapper code.
The Metal backend will use this code to translate glsl to spirv then
cross compile to Metal Shading Language using spirv-cross.
So the source code of GlslangWrapper should be moved outside vulkan folder.
Bug: angleproject:2634
Change-Id: I208062daf0d77756c9d32cfdab925b7dfdf83e05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1858042
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
beacd8c8
|
2019-10-17T14:34:02
|
|
Vulkan: Rename format fields.
Renames 'angleFormat' to 'intendedFormat'. Also renames 'bufferFormat'
and 'imageFormat' to 'actualImageFormat' and 'actualBufferFormat'. This
renaming should make it clearer to the reader what the meaning of the
different format fields are. Intended format is the front-end format
and the actual formats are the formats we pass to Vulkan. Also updates
the documentation.
Bug: angleproject:4009
Change-Id: If61bf7250e88f7ed3d452718574c963d718e27b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866077
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2682b5a0
|
2019-10-07T15:13:23
|
|
Documentation maintenance.
Fixes links in the Vulkan back-end doc. Also includes a link to the
Vulkan back-end docs on the main page. Also updates the building code
section to mention VS2019 and make the win toolchain varable set more
prominent.
Bug: angleproject:1944
Change-Id: I8e8f0775daa3643afaa1ddd44429fa7d8e77b19b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846014
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a7ff7df2
|
2019-09-03T11:22:21
|
|
Vulkan: Improve wording of PresentSemaphores.md
Bug: angleproject:3450
Change-Id: Iee5360a7b9cced403c08b7883fa11420e250244f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784065
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c3f57231
|
2019-08-28T15:00:46
|
|
Vulkan: revamp present semaphore management
See doc/PresentSemaphores.md for details.
Bug: angleproject:3450
Bug: angleproject:3670
Change-Id: I52d5bd13a4af25f224d386c9584525c182af6f17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776880
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eb68081e
|
2019-08-28T15:28:54
|
|
Vulkan: Split Vulkan docs from README.md into doc/
This is in preparation for adding more docs and migrating internal ones.
Bug: angleproject:1944
Change-Id: I7aa4d708c9cd6134ef4ded00a82890448988ce9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773907
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0e30681d
|
2019-04-10T15:09:53
|
|
Vulkan: Add design docs on line segment raster.
The docs are based on an internal google document available at
go/vangle-line-rasterization. The link won't work for non-Googlers.
Also cleans up the format of the markdown file somewhat.
Bug: angleproject:3344
Change-Id: Ic466c44099e25f12b9afc4565bbd0fe37097af9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561969
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
df5ae9f6
|
2019-04-11T14:49:23
|
|
Vulkan: Write design doc explaining SPIR-V generation.
The two-pass approach first uses ANGLE's shader translator followed by
glslang. The doc explains it in more detail with links.
Bug: angleproject:3345
Change-Id: I04fd31993e3cd62ac409f2696e18f7ec39e5c6ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1560252
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|