|
ad52f12e
|
2023-03-21T00:00:00
|
|
Implement EXT_conservative_depth
Added translator frontend and GLSL backend
support for gl_FragDepth redeclaration and
layout qualifiers.
Added mappings to DepthGreater, DepthLess,
and DepthUnchanged SPIR-V execution modes.
Bug: angleproject:8046
Change-Id: I23f19ff54380741107970a44055ea269eef179f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355028
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b96d1955
|
2023-01-20T16:06:34
|
|
Implement GL_ARM_shader_framebuffer_fetch
GL_ARM_shader_framebuffer_fetch allows fragment shaders to read
gl_LastFragColorARM. The extension is similar to
GL_EXT_shader_framebuffer_fetch, but is more limited in its
capabilities.
GL_ARM_shader_framebuffer_fetch was removed from HasFramebufferFetch()
because it acts differently from GL_EXT_shader_framebuffer_fetch in
significant enough ways that it should not be included in that
single-use function.
Tests: FramebufferFetchES31.*_ARM
Bug: b/242419750
Bug: angleproject:7882
Change-Id: Id3a25c8ee50ca3e2a4c30a2261f507b0b53511ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4083108
Commit-Queue: Sean Risser <srisser@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ab334105
|
2023-01-23T10:09:56
|
|
BuiltInResourcesString is no longer a part of shader cache key
The stringified version of `ShBuiltInResources` is poorly
maintained and has a large overhead while computing hashes.
Instead use the `ShBuiltInResources` blob directly.
The shader object now computes and caches its key, refactor
MemoryProgramCache to query the shader object for its key
instead of recomputing it.
Tests: EGLProgramCacheControlTest*
Bug: angleproject:7833
Change-Id: I67a22f9460cee10ab0f7571df7d6525b476a5a78
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4185759
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
067ace47
|
2022-12-21T00:00:00
|
|
Add ANGLE_clip_cull_distance extension
Added an extension spec.
Trivially exposed it on GL, Vulkan, and D3D11.
Adjusted tests and validation to allow no cull
distance support for this extension string.
Removed extra built-in variable definitions.
Bug: angleproject:7904
Change-Id: Ic60772dfe28132c316eaa29aadc1afd66e3b0fa7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114290
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
fa37af38
|
2022-07-12T22:47:22
|
|
Translator: Support SSO's built-in redeclaration
EXT_separate_shader_objects requires that gl_Position and gl_PointSize
be redeclared in the vertex shader. This is not adopted by GLES3.2, but
is nevertheless required to be supported if the shader enables this
extension explicitly.
Bug: angleproject:6590
Change-Id: I3428851ff9f00fb63573e4322bb62fe04bf0a095
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3757918
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a7dc51f2
|
2022-10-01T08:49:11
|
|
Add a framebuffer fetch implementation of PLS
The framebuffer fetch implementation works by attaching PLS backing
textures to the framebuffer, and then rewriting PLS uniforms as "inout"
fragment variables. The compiler's existing machinery takes it from
there and makes it work on GL and Vulkan, and soon Metal.
EXT_shader_framebuffer_fetch is now the preferred backend for pixel
local storage, but we also use EXT_shader_framebuffer_fetch_non_coherent
if shader images can't be coherent. This is especially interesting for
Vulkan, since noncoherent framebuffer fetch is possible without any
extensions.
Bug: angleproject:7279
Bug: angleproject:7683
Bug: angleproject:7684
Bug: angleproject:7724
Change-Id: I33f3b2c6df9a5709969d9165c448ea71b096c9e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3900142
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
ba4b6913
|
2022-08-23T09:34:27
|
|
Fix data race in BlobCache
* Re-enable shader cache feature
* Improve BlobCache thread-safety test
* Improve EGLProgramCacheControlTest to not check the size
of the BlobCache, since the shader cache interferes with this.
* Include the arguments to ConstructCompiler() and Compile()
in the key hash for the shader cache.
Bug: angleproject:7036
Change-Id: Ied4e11f9160552f2f9358d99b5656315239ba856
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3851161
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
|
|
6f80f0f0
|
2022-08-06T02:29:19
|
|
Translator: Clean up the compile flag passing interface
Historically, compile flags were sent to the translator as a bitmask.
Recently, we were getting close to running out of bits. Additionally,
direct-to-metal work had started to introduce constants to be passed to
the translator, which were misplaced in ShBuiltInResources and Caps.
Recent work on Pixel Local Storage adds even more constants, aggravating
the situation.
In this change, the interface to passing compile flags is reworked. A
struct is passed (instead of a bitmask) that has one bit for each flag.
This can be indefinitely extended. Additionally, the constants needed
by metal and PLS are also placed in this struct. In turn, the backends
can set these options directly, and don't have to hack them into Caps to
further get hacked into ShBuiltInResources.
Bug: angleproject:7559
Change-Id: If93f1e1b8818ad3a0ac708ab04ab93b4b397d114
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812562
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
861149c7
|
2022-08-03T15:43:29
|
|
Make PLS coherent on desktop OpenGL
Implements ANGLE_shader_pixel_local_storage_coherent using fragment
shader synchronization extensions:
NV_fragment_shader_interlock
INTEL_fragment_shader_ordering
ARB_fragment_shader_interlock
With these extensions combined, we get coherency all 3 big desktop
vendors: NVIDIA, Intel, and AMD.
Bug: angleproject:7279
Change-Id: Ie20b251fb772898e89994b799640f1f2806581eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3773990
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
15cc0013
|
2022-07-14T23:32:05
|
|
Add a GL_ANGLE_shader_pixel_local_storage extension
Plumbs through "GL_ANGLE_shader_pixel_local_storage" and
"GL_ANGLE_shader_pixel_local_storage_coherent" extension strings
advertised by ANGLE and stubs out an initial spec document. This change
doesn't add any new procedures or shader constructs, but it does allow
the PLS tests to start checking for the real extension strings and
requiring the GL_ANGLE_shader_pixel_local_storage extension.
Bug: angleproject:7279
Change-Id: I36877fe4117185a2121f803288123cd69a447cf3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3739590
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
785353fd
|
2022-05-24T12:40:16
|
|
Support Desktop OpenGL context creation in end2end tests
Validation of Desktop GL versions and profile masks is unimplemented.
Bug: angleproject:7360
Change-Id: Ifae94215b6aada895c2b02318a1d05c9515e9b96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3664916
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
3ddb21fd
|
2022-02-23T14:15:48
|
|
Front-end support for KHR_blend_equation_advanced
Bug: angleproject:3586
Change-Id: I27086295e7455ce8848db1c6004917fea40202e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3484785
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
38fada35
|
2022-01-27T18:16:18
|
|
Vulkan: Add support for OES_primitive_bounding_box
Add OES version of the primitive bound box extension
Bug: angleproject:3576
Test: dEQP-GLES31.functional.primitive_bounding_box.*
Change-Id: Ie44d952992a68dfffd5c124dda8dd11069f0c1e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3425086
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
7dda50fc
|
2022-01-13T12:09:20
|
|
Add frontend for ANDROID_extension_pack_es31a
- Add entry to registry_xml file
- Add handling in the DirectiveHandler
Bug: angleproject:3608
Change-Id: I1cc32a4a97fd9974f65786a9a972b4b541abf658
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388405
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
ae1a56b6
|
2022-01-06T17:04:41
|
|
Vulkan: Turn on GL_EXT_shader_framebuffer_fetch for ARM
On ARM, coherent is the default behavior of framebuffer fetch, so
we can expose the GL extension.
Tests: Dead By Daylight app and trace
Bug: b/201764768
Bug: angleproject:6870
Bug: angleproject:6872
Change-Id: I0f98c57e20619d73d1507c4655e7f9bb8c10a53a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3371244
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f64f9546
|
2021-12-07T20:17:32
|
|
Reland "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
This reverts commit 10e5f34d1439f0bcd5b30bea5bfbf6bdaafd4935.
Reason for revert: exonerated from flaky crash suspect
Original change's description:
> Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
>
> This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059.
>
> Reason for revert: suspect causing flaky crashes
>
> Bug: angleproject:6763
>
> Original change's description:
> > Decouple gl_BaseVertex/gl_BaseInstance uniforms
> >
> > These are builtin uniforms removed in
> > https://github.com/KhronosGroup/WebGL/pull/3278
> >
> > Decouple them from the original ANGLE_base_vertex_base_instance
> > extension.
> >
> > Make a new ANGLE_base_vertex_base_instance_shader_builtin
> > extension for these builtin uniforms.
> >
> > Bug: angleproject:3402
> > Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
> > Commit-Queue: Shrek Shao <shrekshao@google.com>
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
>
> Bug: angleproject:3402
> Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Shrek Shao <shrekshao@google.com>
Bug: angleproject:6763
Bug: angleproject:3402
Change-Id: Ie436dc5d55364e464897d407a53b793941cd5d0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3321703
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
10e5f34d
|
2021-12-04T00:10:21
|
|
Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059.
Reason for revert: suspect causing flaky crashes
Bug: angleproject:6763
Original change's description:
> Decouple gl_BaseVertex/gl_BaseInstance uniforms
>
> These are builtin uniforms removed in
> https://github.com/KhronosGroup/WebGL/pull/3278
>
> Decouple them from the original ANGLE_base_vertex_base_instance
> extension.
>
> Make a new ANGLE_base_vertex_base_instance_shader_builtin
> extension for these builtin uniforms.
>
> Bug: angleproject:3402
> Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
> Commit-Queue: Shrek Shao <shrekshao@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Bug: angleproject:3402
Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
36bf1ebe
|
2021-11-17T13:31:17
|
|
Decouple gl_BaseVertex/gl_BaseInstance uniforms
These are builtin uniforms removed in
https://github.com/KhronosGroup/WebGL/pull/3278
Decouple them from the original ANGLE_base_vertex_base_instance
extension.
Make a new ANGLE_base_vertex_base_instance_shader_builtin
extension for these builtin uniforms.
Bug: angleproject:3402
Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
e84b0154
|
2021-09-13T16:04:20
|
|
Update extension boolean names.
This is in preparation for auto-gen, which uses a simple naming
scheme. This fixes the bool names to be totally consistent with the
extension names.
Bug: angleproject:6379
Change-Id: Ia212449be04accb0e4f006b55b1813ab4481fa0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157417
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1ca1589f
|
2021-09-13T10:56:58
|
|
Give GLES extension bools a vendor suffix.
This is in preparation for auto-generation which will give all of
these bools suffixes.
Bug: angleproject:6379
Change-Id: I7e3f6c9b644c41a2165e6bf7b62d661fd352a250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158503
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9ada074a
|
2021-09-10T16:18:19
|
|
Move capability values from gl::Extensions to gl::Caps.
Several extensions stored extra information in the wrong structure.
Move them to the Caps structure in prepraration for auto-generating
the Extensions struct.
Bug: angleproject:6379
Change-Id: If5643b72039e299cb0f7c49591d13b3c7cd8a36c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158403
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
217acac2
|
2021-07-21T12:42:56
|
|
Vulkan: Add support for EXT_primitive_bounding_box
1. Added support for EXT_primitive_bounding_box extension
2. Renamed shader variable gl_BoundingBoxEXT[] to ANGLEBoundingBox[]
Bug: angleproject:3576
Test: dEQP-GLES31.functional.primitive_bounding_box.*
Change-Id: I15fa9af50c6fd8e86d225670ddd8eb39f6e65d35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3053618
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
69f2fb00
|
2021-03-08T10:49:31
|
|
Vulkan: Expose OES_geometry_shader extension
Modify the symbol table generation script to accept a list
of supported extensions. This allows for the EXT and
OES versions of the geometry shader extension to be exposed.
Test: angle_deqp_khr_gles31_tests --deqp-case=*geometry_shader*
Bug: angleproject:3571
Change-Id: Ia7127a03dbd3fce78957f0505d3ce0c9bab6cb15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765011
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d7aa0130
|
2021-04-26T16:56:15
|
|
Upstream Apple's direct-to-Metal backend: compile translator.
This change is meant to merge the translator changes from Apple's
direct-to-Metal backend. Taken from Kyle Piddington's CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2857366/
The goal of this CL is to merge the translator code in a state that
compiles, but not to switch the Metal backend over to use this
translator backend yet.
Bug: angleproject:5505
Change-Id: I68a6354604498cd5fd1eb96c13fc56f3b38f2bd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897536
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
550f2a3e
|
2021-02-24T09:49:42
|
|
Vulkan: Shader support for EXT_shader_framebuffer_fetch_non_coherent
Translator can accept gl_LastFragData and 'inout' variable to gain
access to framebuffer attachment data. The Vulkan translator replaces
it with the SubpassInput type variable. Note that this works only for
the noncoherent version of the extension.
Bug: angleproject:5454
Test: *EXTShaderFramebufferFetchNoncoherent*.*
Change-Id: I392f84ee3ad3eb9fbd09d0b7ff83731a9a3f33f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598060
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
b912eec5
|
2020-11-27T11:08:41
|
|
Vulkan: Support GL_EXT_tessellation_shader.
Shader translator changes done in http://crrev.com/c/2633936
Adds a new DIRTY_BIT_PATCH_VERTICES state to Context.
Supportes state query and transform feedback.
4 test suppressions remain as follow-up fixes.
Adds a new varying packing mode for a simple Vulkan rule set.
Based on work by Mohan Maiya (m.maiya@samsung.com).
Test: dEQP-GLES31.functional.tessellation.*
Bug: angleproject:3572
Change-Id: I4cad2cca30adb754fd12c83027673906541f566a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568234
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cea86910
|
2021-01-14T08:13:00
|
|
Vulkan: Support EXT_clip_cull_distance extension
EXT_clip_cull_distance extension is supported except for
some features related to EXT_tessellation_shader and
EXT_geometry_shader. Also added a few compiler tests to validate
the transformation from ESSL to GLSL for Vulkan backend.
Bug: angleproject:5458
Tests: angle_end2end_tests --gtest_filter=Clip*DistanceTest*
angle_unittests --gtest_filter=*Clip*Distance*
Change-Id: Ie74e6b2b55112ad92ad111191d629b63506032ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585987
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
8797714c
|
2020-12-01T11:39:25
|
|
Vulkan: Support OES_shader_io_blocks
Enables OES/EXT_shader_io_blocks extensions in Vulkan backends.
With shader I/O blocks, the varyings can now be an array of struct (the
block itself) of struct (nested in the block).
This change is missing a number of features. In particular, if the
shader I/O block has a location decoration in the middle of the block,
that is not handled yet.
Based on changes from m.maiya@samsung.com and jmadill@chromium.org.
Bug: angleproject:3580
Tests: dEQP-GLES31.functional.shaders.linkage.es31.io_block.*
dEQP-GLES31.functional.separate_shader.validation.es31.io_blocks.*
dEQP-GLES31.functional.program_interface_query.program_input.*
dEQP-GLES31.functional.program_interface_query.program_output.*
Change-Id: I593840475d2365ff6c9ce7b2290f5ee462a30dfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567645
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8a401051
|
2020-11-19T07:58:05
|
|
Vulkan: Support OES_sample_variables extension
Enable OES_sample_variables extension on Vulkan backend.
Add support for built-in variables, uniform state and constants
- gl_SampleId, gl_SamplePosition, gl_SampleMask,
gl_SampleMaskIn
- gl_NumSamples
- gl_MaxSamples
Bug: angleproject:3588
Tests: dEQP-GLES31.functional.shaders.sample_variables.*
KHR-GLES31.core.sample_variables.*
Change-Id: Idf37c7b4ccb0331dbda7acd6389ff4e1022ba959
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477907
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8d63a7fc
|
2020-11-17T15:15:44
|
|
Basic support for running deqp khr gles32 tests
Bug: angleproject:3647
Change-Id: Ia707ffcd41926662d1513f1a3bf49149b76f6b9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2544920
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5b419533
|
2020-11-03T13:33:44
|
|
GL: Implement EXT_YUV_target
Add test coverage of YUV format sampling as RGB or directly as YUV and
rendering as YUV using layout(yuv).
Initializing YUV AHardwareBuffers requires Android API 29 so ANGLE must
be compiled with:
android32_ndk_api_level = 29
android64_ndk_api_level = 29
The following tests can still run with Android API 26 because they don't
need to initialize the buffer:
ImageTestES3.ClearYUVAHB
ImageTestES3.YUVValidation
Bug: angleproject:4852
Bug: b/172649538
Change-Id: I4fe9afb2a68fb827dc5a5732b213b5eb60d585ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517562
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
43acf3ba
|
2020-07-31T15:43:57
|
|
GL: Compiler changes for GL_OES_texture_buffer
This extension is core in GLES 3.2
This CL enables the extension, added 412 new dEQP tests for texture
buffer. 410 of these tests pass, but there are two tests that fail,
detailed in anglebug.com/4933
Also includes a fix for completeness checks.
Based on a CL by Jonah Ryan-Davis.
Bug: angleproject:3573
Bug: angleproject:4933
Change-Id: I45759d765c88c64f21b592eab01d910dc4bc8da3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521239
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e895ced6
|
2020-10-29T09:06:00
|
|
Vulkan: Add OES_shader_image_atomic support
Add support for shader builtins and enable the extension.
Bug: angleproject:3578
Tests: dEQP-GLES31.functional.*image_atomic*
Change-Id: Idd45b2ee62efe1474c6c5947c77da64ff2221bf6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2505540
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5d0458fa
|
2020-10-23T12:52:34
|
|
Vulkan: Add OES_shader_multisample_interpolation support
Support OES_shader_multisample_interpolation extension if
maxInterpolationOffset >= 0.5
Bug: angleproject:3589
Tests: dEQP-GLES31.functional.shaders.multisample_interpolation.*
dEQP-GLES31.functional.state_query.multisample_interpolation.*
Change-Id: I42997f10be82e3be8b63c56833cbbf791bf4be9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477905
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f2749096
|
2020-09-17T12:03:12
|
|
Fix racy global in gl::Compiler.
We introduce a new Display Global Mutex in egl::Display that
can guard access to gActiveCompilers in Compiler.cpp.
Was detected by running MultithreadingTest against TSAN.
Bug: b/168744561
Change-Id: I97866b60a173f60899cd0406fe0f71000035c0cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415181
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7e815c77
|
2020-07-08T13:43:40
|
|
Implement EXT_shadow_samplers
Bug: angleproject:4863,b/161716126
Change-Id: I6beb45d91f59a851787c9f40b40266fb985198d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2288330
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
|
|
41442cce
|
2020-07-31T11:44:38
|
|
Autogenerated changes for GL_EXT_multisampled_render_to_texture2
Bug: angleproject:4836
Change-Id: I86143c6b21ecdbc666ce316b6e4a4b402257f01c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332957
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
eadc387c
|
2020-04-01T16:53:31
|
|
GL: Support GL_OES_texture_cube_map_array in shader translator
GL_OES_texture_cube_map_array is core in 3.2. This CL adds support
for this extension in the shader translator.
Now passes dEQP.KHR_GLES31/core_texture_cube_map_array.*,
dEQP.GLES31/functional_fbo_color_texcubearray_*, and
dEQP.GLES31/functional_opaque_type_indexing*samplercubearray* with GL backend.
Bug: angleproject:3584
Change-Id: I1a8485c7d9d3fffb9b5109d292b35b0c56a3c665
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2133086
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
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>
|
|
96c26c68
|
2020-04-03T07:52:52
|
|
Add support for NV_shader_noperspective_interpolation
Added support for GL_NV_shader_noperspective_interpolation on
the Vulkan and Desktop OpenGL backends
Bug: angleproject:4388
Test: angle_end2end_tests --gtest_filter=ShaderInterpTest.NoPerspective/*
Change-Id: I12473830c0ea8b4fffeae9c4a8ec92d979c8e18c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2107234
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ca2b6e1f
|
2020-03-19T16:30:21
|
|
Vulkan: Implement EXT_shader_non_constant_global_initializers
Enables the translator to handle non-constant global initializers in
all essl versions iff the shader enables the extension to do so.
Bug: angleproject:4468
Test: angle_end2end_tests --gtest_filter=ShaderNonConstGlobalInitializerTest.*
Change-Id: I8f138c12fc83d2f38ff8f45ca9133222b01e4087
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2102959
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
94de306d
|
2020-01-14T16:18:56
|
|
Extensions suffixes
Added NV/OES suffixes to relevant Extensions members.
Bug: angleproject:3104
Change-Id: Ia1798157086230bde8d11c6fcb4fe93211e996ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2013168
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
17b3c2f3
|
2019-10-14T14:13:59
|
|
Implement SamplerVideoWEBGL for WEBGL_video_texture extension on desktop
WEBGL_video_texture is an extension that will improve uploading video frame to WebGL performance.
(https://www.khronos.org/registry/webgl/extensions/proposals/WEBGL_video_texture/)
This extension introduced a new texture type TEXTURE_VIDEO_IMAGE_WEBGL and a new sampler type
samplerVideoWEBGL to sample it.
In chromium implementation, TEXTURE_VIDEO_IMAGE_WEBGL maps to different native texture type
based on platform. On desktop, it maps to GL_TEXTURE2D(Currently supported). On Android, it
should map to GL_TEXTURE_EXTERNAL(TODO). SamplerVideoWEBGL needs to be mapped to sampler2D or
samplerExternalOES according to TEXTURE_VIDEO_IMAGE_WEBGL implementation.
This patch implements samplerVideoWEBGL in Angle to support WEBGL_video_texture on desktop. In
this case, samplerVideoWEBGL should map to sampler2D.
Bug: chromium:776222, angleproject:3889
Change-Id: Idb0a5fcde37ca75ccc1181226b91f257212e7500
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866274
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
795a3559
|
2019-12-03T11:31:18
|
|
Vulkan: EXT_gpu_shader5 support: precise
The precise keyword is used in tessellation shaders but introduced in
this extension.
EXT_gpu_shader5 introduces a handful of features to shaders. This
change only implements the `precise` keyword.
Bug: angleproject:3569
Change-Id: I2252b79098eb8ba2d2faa040d7eaed7548b7051e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939851
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
7e44ec26
|
2019-08-26T15:59:48
|
|
GL_EXT_multisampled_render_to_texture extension. Part 1.
Adding new parameters for extension without adding any real code change. Since no new code paths were added, we expect all tests to pass as before.
Bug: angleproject:980428
Change-Id: I551b46a66f422eabd357fd021e00cf266a991efb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1772377
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ca8ea0a4
|
2019-07-26T10:49:23
|
|
Get Desktop GL games running on desktop frontend
Games:
SkyEngine: Open source on github
The Deep Deep: Geoff's game
Bug: angleproject:3620
Change-Id: I5feee91a94648b385708cafe8d7412e86704ecd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721189
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9d737966
|
2019-08-14T12:25:12
|
|
Standardize copyright notices to project style
For all "ANGLE Project" copyrights, standardize to the format specified
by the style guide. Changes:
- "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
- Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
- Fixed a small number of files that had no copyright date using the
initial commit year from the version control history.
- Fixed one instance of copyright being "The ANGLE Project" rather than
"The ANGLE Project Authors"
These changes are applied both to the copyright of source file, and
where applicable to copyright statements that are generated by
templates.
BUG=angleproject:3811
Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f2412bca
|
2019-07-16T15:47:34
|
|
Get rendering to texture working
Other small fixes for desktop compatibility
Bug: angleproject:3620
Change-Id: I8e75bce1f850fb891c8bb6e16f79302a6d59276c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707932
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1d672749
|
2019-07-08T15:42:05
|
|
WGL implemetation for OpenGL tutorial
Fixes to make WGL implementation work with OpenGL tutorial
- Give directive parser the correct shader spec when on Desktop GL
- Minor changes to parse Desktop GL shaders
- Moved clientType parameter from Context to Context->mState
- Minor fixes to WGL functions
Bug: angleproject:3666
Change-Id: I01ddb828f6d581ad445f49942589436849eae5d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1693244
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cdab03aa
|
2019-06-18T17:24:54
|
|
Add flags to shader translator to emulate gl_BaseVertex and gl_BaseInstance
Adds support for translating gl_BaseVertex and gl_BaseInstance for implementation of
GL_ANGLE_base_vertex_base_instance.
They will only be available in WebGL 2. Since there's no gl_VertexID and
gl_InstanceID in WebGL 1. It won't be very useful to add them to WebGL
1.
Mostly follow pattern of gl_DrawID of GL_multi_draw
BUG=angleproject:3402,chromium:891861
Change-Id: Ifcd990c52d12f6814127b904e61a779b8d382e0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666361
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
66b5ff58
|
2019-06-28T14:34:22
|
|
texture3D: Implement functionality and enable for Vulkan
Also update test expectations for texture3D.
Bug: angleproject:3188
Change-Id: If8a8e0a83a86c48c2afb0c36534c1e9d4120fe47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682782
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ebab670c
|
2019-04-19T14:36:45
|
|
Adding new extension GL_OVR_multiview
GL_OVR_multiview functions exactly the same as GL_OVR_multiview2.
All GL_OVR_multiview2 tests now also repeat the same test using GL_OVR_multiview
Bug: angleproject:3341
Change-Id: I7e5294fb6bbf7692535174a15da6a42e1b5fc4e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575904
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7d64c486
|
2019-03-12T14:27:40
|
|
GL_ANGLE_multiview has been renamed to GL_OVR_multiview2.
changes include:
1) GL_OVR_multiview to GL_OVR_multiview2 extension directive change
2) Removal of all references to side by side. We no longer support multiple views in a single 2DTexture. Only 2DTextureArray's are supported
3) WebGL 2 (ES3) is required for multiview
Bug: angleproject:3341
Change-Id: Ie0c1d21d7610f8feebdb2e4d01c6947f57e69328
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552023
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c3dc5d48
|
2018-12-30T12:12:04
|
|
Merge gl::Context and gl::ContextState.
This reduces the number of indrections when accessing the Extensions
or Caps structures. It will provide a small speed-up to some methods.
It also cleans up the code.
Bug: angleproject:2966
Change-Id: Idddac70758c42c1c2b75c885d0cacc8a5c458685
Reviewed-on: https://chromium-review.googlesource.com/c/1392391
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Markus Tavenrath <matavenrath@nvidia.com>
|
|
b980c563
|
2018-11-27T11:34:27
|
|
Reformat all cpp and h files.
This applies git cl format --full to all ANGLE sources.
Bug: angleproject:2986
Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
Reviewed-on: https://chromium-review.googlesource.com/c/1351367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7cf9cd24
|
2018-10-09T15:27:32
|
|
Add flags to shader translator to emulate gl_DrawID
Adds support for translating gl_DrawID for implementation of
GL_ANGLE_multi_draw.
Currently the change only supports and allows emulation of the
draw id using a uniform variable named `gl_DrawID`. This uniform is
mapped in the translated shader to a hashed name that does not
use the gl_ namespace
Bug: chromium:890539
Change-Id: I08a246ca911e88e733ccdf22f1ed69dcae948e05
Reviewed-on: https://chromium-review.googlesource.com/c/1271957
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
|
|
7818a85c
|
2018-09-06T15:02:04
|
|
Implement GL_ANGLE_texture_multisample API part
Support GL_ANGLE_texture_multisample extension.
This patch adds enums of multisampled texture and texStorage2DMultisampleANGLE
API.
TEST=angle_end2end_tests.exe --gtest_filter=TextureMultisampleTest*
TEST=angle_end2end_tests.exe --gtest_filter=NegativeTextureMultisampleTest.Negtive*
BUG=angleproject:2275
Change-Id: I2cab997edc33aa2d0be6082381545335423f64e0
Reviewed-on: https://chromium-review.googlesource.com/c/804613
Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f4a789f9
|
2018-10-18T16:56:20
|
|
Use angle::Result in front-end (Part 6)
Refactors the gl::Program, gl::Compiler and gl::Query classes.
Bug: angleproject:2491
Change-Id: I96acecdc6af301a89201bd7f5222a180433e5eb2
Reviewed-on: https://chromium-review.googlesource.com/c/1289711
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ab5fb5ed
|
2018-09-18T17:23:28
|
|
Reland "Support EXT_blend_func_extended in the GLES2 context"
This re-lands EXT_blend_func_extended implementation. A lot of the
implementation has been rewritten on top of changes that have been
done since the last attempt.
For now we only expose the extension on desktop GL. To support GLES,
we'd need to investigate what's the most robust way to handle the
compiler output and make the binding of the fragment outputs
conditional.
The extension is disabled on AMD and Intel because of test failures.
BUG=angleproject:1085
TEST=angle_end2end_tests
Change-Id: I619ae3162769b90aad095ddec158ce6c57a114a8
Reviewed-on: https://chromium-review.googlesource.com/1233713
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a155bacf
|
2018-08-16T15:26:39
|
|
ParallelCompile: Parallelize shader translation
This changes to construct a new ShHandle of compiler for each Shader,
and use it to translate the shader source in a background thread.
Bug: chromium:849576
Change-Id: Ib49952c7292321ee6aa1c5996f8f7927f40d8f04
Reviewed-on: https://chromium-review.googlesource.com/1177195
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dff32a0d
|
2018-08-28T14:35:50
|
|
Support multisample arrays in shader programs
The added tests check that using textureSize() and texelFetch() on
textures with a fixed point format return expected results. texelFetch
is also covered for integer format textures.
dEQP GLES 3.1 tests also cover a variety of multisampled array texture
formats.
BUG=angleproject:2775
TEST=angle_end2end_tests, angle_deqp_gles31_tests
Change-Id: I99b422e24b39e3563ed72f0fb85c9c1907df807d
Reviewed-on: https://chromium-review.googlesource.com/1196521
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0c4e08e9
|
2018-05-08T11:00:36
|
|
Use ShaderMap in Caps - Part II
This patch is the last one in the series of putting resource limits
on each shader stage into ShaderMap. With this patch, all such values
are organized in the corresponding ShaderMap.
This patch also cleans up all the related code by using this new
type of data structure.
BUG=angleproject:2169
Change-Id: I440643fe44ab63acf7da0a1611643beed1ba66d1
Reviewed-on: https://chromium-review.googlesource.com/1077748
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
461b09a8
|
2018-04-23T09:02:09
|
|
GLES1: Renderer (minimal)
This is the renderer code for GLES1 that delivers basic vertex
attributes, matrices, and allows texturing for unit 0 only (more units
mean implementing the multitexturing pipeline).
+ Sample
+ Update test expectations for GLES1 conformance tests
BUG=angleproject:2554
BUG=angleproject:2306
Change-Id: I398edc764f982fbfc4c5e0f9d6bfef1e91aec47c
Reviewed-on: https://chromium-review.googlesource.com/1057356
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
66aafcb4
|
2018-05-12T19:21:31
|
|
Revert "GLES1: Renderer (minimal)"
This reverts commit a69099212f7b3be8e6113ba349eee56af589f3de.
Reason for revert: New tests failing on gpu fyi bot. anglebug.com/2554
Original change's description:
> GLES1: Renderer (minimal)
>
> This is the renderer code for GLES1 that delivers basic vertex
> attributes, matrices, and allows texturing for unit 0 only (more units
> mean implementing the multitexturing pipeline).
>
> + Sample
> + Update test expectations for GLES1 conformance tests
>
> BUG=angleproject:2306
>
> Change-Id: Id5d5603c967e577290085e5946f2cb7a03d7e017
> Reviewed-on: https://chromium-review.googlesource.com/1023988
> Commit-Queue: Lingfeng Yang <lfy@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,lfy@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:2306
Change-Id: Ib6fd9db433cd1a13589d5a9e82cb2c40f3cf71ff
Reviewed-on: https://chromium-review.googlesource.com/1056229
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
a6909921
|
2018-04-23T09:02:09
|
|
GLES1: Renderer (minimal)
This is the renderer code for GLES1 that delivers basic vertex
attributes, matrices, and allows texturing for unit 0 only (more units
mean implementing the multitexturing pipeline).
+ Sample
+ Update test expectations for GLES1 conformance tests
BUG=angleproject:2306
Change-Id: Id5d5603c967e577290085e5946f2cb7a03d7e017
Reviewed-on: https://chromium-review.googlesource.com/1023988
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
54aafe58
|
2018-04-27T14:54:57
|
|
Use ShaderMap in Caps - Part I
This patch is the first one of the series that organize
implementation dependent resource limits on every type
of shader into ShaderMap and clean up all the related
code.
In the next patch all such resource limits are put in
the corresponding ShaderMaps.
BUG=angleproject:2169
Change-Id: I40cb58c55b2e82df33221ddb36eff0abcd7e8b22
Reviewed-on: https://chromium-review.googlesource.com/1034108
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
016105bb
|
2018-04-12T16:38:31
|
|
Store shader information in ShaderMap in class Program and Compiler
This patch is the first one in the series of using ShaderMap as
the container of the resources for each type of shader everywhere
in ANGLE.
This patch defines the new data structure ShaderMap and use it in
class Program and Compiler in ANGLE front-end.
The following work includes:
1. Use ShaderMap in D3D back-ends.
2. Use ShaderMap in Vulkan back-ends.
BUG=angleproject:2169
Change-Id: I1c284d95f5a071c45bb468901eabc15694fffe38
Reviewed-on: https://chromium-review.googlesource.com/1011722
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
385b3e03
|
2018-03-21T09:43:28
|
|
Use packed enums on shader types in ANGLE renderer
This patch uses a packed internal enum ShaderType everywhere we
need a shader type instead of the GLenum value of the shader type.
This patch also uses program::getAttachedShader(type) everywhere
we need to get gl::Shader from a program in ANGLE.
BUG=angleproject:2169
Change-Id: I28a7fa1cfe35622c57a486932911110688eaadec
Reviewed-on: https://chromium-review.googlesource.com/972844
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e05ffdd1
|
2018-02-19T13:24:17
|
|
GLES1: caps: Use GLES3 spec shader compiler
If we attempt to compile the GLES1 emulation shader when the client
version is 1, we use the webgl 1 / GLES2 spec, not the GLES3 spec that
we use for GLES1 emulation.
This CL adds a case in Compiler.cpp for ES 1 contexts to use the higher
spec shader compiler.
BUG=angleproject:2306
Change-Id: I86fe534dd405279155bd81680fed77b8f9a09042
Reviewed-on: https://chromium-review.googlesource.com/925548
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
bd924af1
|
2017-11-16T15:28:04
|
|
ES31: Remove support of GL_OES_geometry_shader in compiler
This patch intends to remove the support of GL_OES_geometry_shader
in ANGLE compiler.
To make the implementation simpler, currently we decide to only
support "GL_EXT_geometry_shader" as the extension string of geometry
shader in ANGLE.
This patch also updates all the related shaders in angle_unittests
into R"()" format.
BUG=angleproject:1941
TEST=angle_unittests
Change-Id: Ife9858abeedfb46b02c5c2fb1cda16fa27198511
Reviewed-on: https://chromium-review.googlesource.com/773451
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
361df070
|
2017-11-22T09:33:59
|
|
ES31: Implement Geometry Shader resource queries on OpenGL
This patch intends to implement all geometry shader related
resource queries on OpenGL back-ends.
This patch also fixes a memory leak by releasing the geometry
shader compiler handle in the destructor of the Compiler.
BUG=angleproject:1941, angleproject:2261
TEST=angle_end2end_tests
Change-Id: Ieb69c162d2fc6c6550e145d1ec7948c3d36d4d15
Reviewed-on: https://chromium-review.googlesource.com/784552
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
89be29a5
|
2017-11-06T14:36:45
|
|
ES31: Implement creation and attaching geometry shader on OpenGL
This patch intends to implement the creation of a geometry shader
and attaching a geometry shader to a program on OpenGL back-ends.
This patch also adds all geometry shader related dEQP-GLES31 test
failures to deqp_gles31_test_expectations.txt.
BUG=angleproject:1941
TEST=angle_end2end_tests
Change-Id: Ib0b497030255b15dacd967e48bc59eef0009af46
Reviewed-on: https://chromium-review.googlesource.com/757979
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
729b2c6e
|
2017-08-14T09:36:11
|
|
ES31: Enable shader storage buffer support for OpenGL backend
BUG=angleproject:1951
TEST=angle_end2end_tests:ShaderStorageBuffer
Change-Id: I1afc3cd005ad2e595c6ce937fc53e17423f8ec8b
Reviewed-on: https://chromium-review.googlesource.com/618132
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
84aa2dcf
|
2017-09-11T15:51:02
|
|
Add textureGather and textureGatherOffset
The patch adds new built-ins and extends the semantic parser to add
support for textureGather and textureGatherOffset.
BUG=angleproject:1442
TEST=angle_unittests
TEST=angle_deqp_gles31_tests.exe
--deqp-case=dEQP-GLES31.functional.texture.gather*
--deqp-egl-display-type=angle-gl
Change-Id: Iaf98c3420fbd61193072fdec8f5a61ac4c574101
Reviewed-on: https://chromium-review.googlesource.com/660124
Commit-Queue: Martin Radev <mradev@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
71c88b31
|
2017-09-14T22:20:29
|
|
Enable [[nodiscard]] for gl::Error.
This forces all return values to be checked for gl::Error.
Requires quite a bit of minor refactoring. I also added a macro to
swallow an error without returning from a function.
We could look at storing the errors in the Context at some point,
since almost always when we're generating errors that we need to
discard we have access to the Context as a parameter.
BUG=angleproject:2150
Change-Id: I457e48a30c002eda0993acbcd3180ba87bf169fb
Reviewed-on: https://chromium-review.googlesource.com/665173
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
13c0dd46
|
2017-07-04T18:27:01
|
|
Add texture rectangle extension.
This is needed to support binding IOSurfaces to textures on OSX. This
commit adds support in the API and tests, but didn't need to implement
compiler changes as it already supported ARB_texture_rectangle.
Implementation of CHROMIUM_opy_texture for rectangle texture and the
spec are left for follow-up commits.
Change-Id: I45c66be763a9d3f6f619640f9f95f39b05c70867
Reviewed-on: https://chromium-review.googlesource.com/559106
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ab918821
|
2017-07-14T17:03:42
|
|
Clamp point size to maximum point size from the API on NVIDIA
NVIDIA OpenGL drivers have a bug where the point size range is being
reported incorrectly - it appears the core GL driver incorrectly gives
the range for smooth points, when it should be giving the range for
aliased points. Clamp the actual point size to the maximum point size
reported from the API so that the GLES spec is followed.
The same workaround seems to be necessary also on Android. The issue
was revealed by the trybots, and has not been fully diagnosed though.
The newly added test fails on AMD OpenGL.
As a part of this change, the existing tests in PointSpritesTest are
refactored to use gl_raii.
BUG=chromium:740560
TEST=angle_end2end_tests
Change-Id: Ic4a66c9ea16f5ae76beb3bb6577716d10c3b226e
Reviewed-on: https://chromium-review.googlesource.com/574598
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
318f9aa5
|
2017-05-17T17:47:28
|
|
Initialize ANGLE_multiview caps and workaround state
The patch checks whether ANGLE_multiview can be supported in the OpenGL
renderer, updates the caps and adds a workaround field to enable
multiview support through the NV_viewport_array2 extension.
BUG=angleproject:2062
TEST=angle_end2end_tests
Change-Id: I99dae10564db7bcca41d7624f8de272c1d996e09
Reviewed-on: https://chromium-review.googlesource.com/567934
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
3244736a
|
2017-06-28T14:53:52
|
|
Use MemoryProgramCache.
Add the member functions for saving and loading from the binary cache,
and hook them into the Program class. Requires that the Renderer
supports the program binary extension.
BUG=angleproject:1897
Change-Id: I2dc8d21b02da705ded58c5cd1943562c9c97c49b
Reviewed-on: https://chromium-review.googlesource.com/522874
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2f348d2a
|
2017-06-05T10:50:59
|
|
Make gl::Compiler reference-counted.
This is helpful for implementing program binary caching in ANGLE.
in order to maintain the current behaviour in Chrome, we will need
to defer shader compilation until link time. Since WebGL allows the
app layer to enable and disable extensions explicitly, the app can
enable or disable an extension between the calls to glCompileShader
and glLinkProgram. Then, if we're deferring shader compilation, we
will have to preserve the extension settings at the time of the call
to compile, not the current settings at the time of link. Making the
compiler reference-counted gives us a pretty simple and robust
solution.
This also changes the Context class to lazily init the shader
compiler. Lazy init prevents any unexpected nulls, and also ensures
the releaseShaderCompiler does exactly that: just releases the shader
compiler, and does not immediately re-initialize it.
BUG=angleproject:2044
Change-Id: I0f0eeb4eb94dc4eee238f92482804a0921c77df0
Reviewed-on: https://chromium-review.googlesource.com/522868
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
af713a24
|
2017-04-19T09:10:56
|
|
ES31: Implement binding layout for uniform blocks
The binding point of uniform blocks can be specified in shaders with
this CL. See spec ESSL 3.10, section 4.4.4, page 58 for more info.
dEQP-GLES31.functional.ubo.* still can't completely pass as
the missing of arrays-of-arrays feature. Neither can
dEQP-GLES31.functional.layout_binding.ubo.* due to the incomplete
implementation of program interface APIs.
TEST=angle_end2end_tests:UniformBufferTest
BUG=angleproject:1442
Change-Id: If95d468fc109834a132b9b817730d3fdc3a615da
Reviewed-on: https://chromium-review.googlesource.com/483848
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
6ca2b65c
|
2017-02-19T18:05:10
|
|
Implement location layout qualifier for uniforms
This is a complete implementation of the uniform location layout
qualifier. Uniform location set in the shader is plumbed to shader
linking, which does several link-time checks for conflicts and
recursively applies the location to struct members.
Validate that location is consistent as specified in the table in
section 9.2.1 of the ESSL 3.10.4 spec. The location set in the shader
overrides the one set via the CHROMIUM_bind_uniform_location API.
Location conflicts must be checked even if the uniforms are not
statically used. Because of this unused uniforms are now recorded
during uniform linking. After linking checks are done, unused uniforms
are pruned from the program state.
Location is validated against the maximum number of uniform locations
at compile time as specified in section 4.4.3 of the ESSL 3.10.4 spec.
All dEQP uniform location tests don't yet pass due to unrelated bugs.
BUG=angleproject:1442
TEST=angle_end2end_tests, dEQP-GLES31.functional.uniform_location.*
Change-Id: I1f968e971f521fbc804b01e1a7c2b4d14f24d20f
Reviewed-on: https://chromium-review.googlesource.com/447942
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
58806567
|
2017-01-05T13:09:31
|
|
Apply max draw buffer limit for WebGL shaders.
For WebGL, using native caps incorrectly sets gl_MaxDrawBuffers.
This change always applys the limit for compatible shaders.
BUG=angleproject:1523
Change-Id: Ie956f4b9fdd10bdf9276ae08eaeb49e65690185b
Reviewed-on: https://chromium-review.googlesource.com/425477
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e794cd86
|
2017-01-13T17:29:51
|
|
Vulkan: Implement new GLSL translator back-end.
The Vulkan GLSL translator back-end will handle validating and
translating our WebGL/ESSL shaders into Vulkan-specific GLSL.
glslang (the Vulkan one) accepts both GLSL and GLSL ES shaders
as inputs, and both the desktop and ESSL back-ends give
incompleteness warnings when used. For now, use the desktop GL
450 as a target for Vulkan GLSL.
The Vulkan-specific changes are currently only to add locations
to every vertex input and fragment output.
BUG=angleproject:1575
Change-Id: I7c3f32f522e9d18e5f8618eb7927336bf4fbdcf2
Reviewed-on: https://chromium-review.googlesource.com/412266
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
acd1898e
|
2017-01-04T10:46:42
|
|
Replace Error(GL_NO_ERROR) with NoError().
In order to make the errors be consistent throughout ANGLE.
BUG=angleproject:1686
Change-Id: I0a2d86091d640aedeac94beae345c1fb6971b00d
Reviewed-on: https://chromium-review.googlesource.com/424835
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
acb4b81a
|
2016-11-07T13:50:29
|
|
translator: Put ShaderLang APIs in "sh" namespace.
Working with glslang in Vulkan means we are static linking libANGLE
with functions that have the same name as our translator APIs. We
can fix this by scoping our APIs. We don't need to scope the types
of the file, since they don't conflict.
This will require a follow-up patch to remove the unscoped APIs
once we switch over Chromium.
We also scope TCompiler and some related classes to avoid multiply
defined link errors with glslang.
BUG=angleproject:1576
Change-Id: I729b19467d2ff7d374a82044b16dbebdf2dc8f16
Reviewed-on: https://chromium-review.googlesource.com/408337
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
87c182e1
|
2016-11-02T11:23:22
|
|
Enable shader validation with WebGL compatibility extension.
The change configures shaders to be of a compatible spec upon creation.
BUG=angleproject:1523
Change-Id: Id345d0b8f0abad8ed3c4fb3117d0fdfeab9fea53
Reviewed-on: https://chromium-review.googlesource.com/405778
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4c4c8e72
|
2016-08-04T12:25:34
|
|
Add compute program compilation and linking support
Compute shaders can be now compiled and linked to create programs.
Some tests are added to verify successful and unsuccessful compute
shader linking.
The patch also replaces std::array<int, 3> with a custom struct
WorkGroupSize.
BUG=angleproject:1442
TEST=angle_end2end_tests
TEST=angle_unittests
Change-Id: I4ab0ac05755d0167a6d2a798f8d7f1516cf54d84
Reviewed-on: https://chromium-review.googlesource.com/366740
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e93d24ef
|
2016-07-28T12:06:05
|
|
Add es3.1 shader constants
The patch adds all shader built-in constants.
BUG=angleproject:1442
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: I81cae479d6506a8faa2dce023d5fcc2c1291d521
Reviewed-on: https://chromium-review.googlesource.com/364460
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1be913cf
|
2016-07-11T17:59:16
|
|
Add support for ES31 context creation
The dEQP test for context creation passes.
SH_WEBGL3_SPEC has been added, but it should be considered whether we
should keep it, remove it or rename it. It was added so that there is
a webgl mapping to es 310 shaders. Check Compiler.cpp. The bison file
has been modified so that some tokens from es3 can be also used in
es31 as well.
A separate macro ES3_1_ONLY is added so that some tokens are limited
only for es 310 shaders.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: I2e5ca227c96046c30dc796ab934f3fda9c533eba
Reviewed-on: https://chromium-review.googlesource.com/360300
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
29f908bf
|
2016-07-19T23:21:01
|
|
Revert "Support EXT_blend_func_extended in the GLES2 context"
Test failures on Intel Release:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28New%20Intel%29/builds/1163
Also Intel Debug:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28New%20Intel%29/builds/820
Also NVIDIA with a different config:
https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%20GeForce%20730%29/builds/1564
BUG=angleproject:1379
This reverts commit 7f539ea52e6bc493d8e025ed2c43e10f606f088b.
Change-Id: I2634ad2b3fcc31e1e5ffb3674b94cb0aed9fd773
Reviewed-on: https://chromium-review.googlesource.com/361840
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7f539ea5
|
2016-05-20T13:29:08
|
|
Support EXT_blend_func_extended in the GLES2 context
BUG=angleproject:1379
Change-Id: Ibda6e84c0a7f86e838247cd5c538ef956dd786fe
Reviewed-on: https://chromium-review.googlesource.com/346410
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
|
|
dfde6abf
|
2016-06-09T07:07:18
|
|
Context: Remove mutable gl::State getter.
This will preserve layering - the API layer doesn't mutate the state
directly, it passes the API call through to the Context. Is also
removes the possiblity of any shenanigans of the Validation layer
changing the GL state.
Also, this CL refactors a few validation entry points to take
ValidationContext instead of Context. ValidationContext will be the
correct way to interact with the gl::Context in the Validation code.
Finally, additional refactorings make ContextState a proper class with
private data. This allows the ContextState itself to keep a mutable
pointer to the gl::State, so ValidationContext can modify it if
necessary (and it will be necessary for Framebuffer completeness
caching).
BUG=angleproject:1388
Change-Id: I86ab3561573caa9535c8d1b8aad4ab3d0e7cd470
Reviewed-on: https://chromium-review.googlesource.com/348954
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b66a9097
|
2016-05-16T15:59:14
|
|
Add support for OES_EGL_image_external and OES_EGL_image_external_essl3.
BUG=angleproject:1372
Change-Id: I8489e7fd0ab409b0775041ad5e9fbf0aab53886d
Reviewed-on: https://chromium-review.googlesource.com/344734
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7aea7e05
|
2016-05-10T10:39:45
|
|
Add EGLImplFactory.
Also rename ImplFactory to GLImplFactory.
This will allow us to use the same factory design pattern for EGL
objects, and to use State helper classes to share data with Impls.
BUG=angleproject:1363
BUG=angleproject:1369
Change-Id: I07a8fe40838d5d4ca32b04910c306edeab4d25a7
Reviewed-on: https://chromium-review.googlesource.com/342051
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bda75597
|
2016-04-18T17:25:54
|
|
Finish NV12 support via streams.
The main functionality for NV12 texture support through EGL streams has
been added. Updates to the compiler, texture code, and stream code were
added to support binding to external D3D11 NV12 textures. An end2end test
was also added to test sampling of YUV textures and converting to RGB.
There is also a new script to convert BMP files to an NV12 texture ready
to load into D3D11 for testing purposes.
BUG=angleproject:1332
Change-Id: I39b6ec393ea338e2c843fb911acc1b36cd1158a0
Reviewed-on: https://chromium-review.googlesource.com/339454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
Reviewed-on: https://chromium-review.googlesource.com/341254
Reviewed-by: Ian Ewell <ewell@google.com>
|
|
9670b03e
|
2016-04-29T09:47:47
|
|
Revert "Finish NV12 support via streams."
Broke Windows Clang compilation, see https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Clang%20Builder%20%28dbg%29/builds/3583/steps/compile/logs/stdio and search for TextureStorage11.h
This reverts commit 9b8b359fa3615be7c7492239a48f61103b2e4fcc.
Change-Id: I6e54305eba02b40927a35577594df39e951adb32
Reviewed-on: https://chromium-review.googlesource.com/341430
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
9082b982
|
2016-04-27T15:21:51
|
|
Rename gl::Data to gl::ContextState.
Part of the new world order of renaming the Obj::Data classes to ObjState.
BUG=angleproject:1363
Change-Id: I15cf002b8b093d687f540b9e86f045874af24a7e
Reviewed-on: https://chromium-review.googlesource.com/340740
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9b8b359f
|
2016-04-18T17:25:54
|
|
Finish NV12 support via streams.
The main functionality for NV12 texture support through EGL streams has
been added. Updates to the compiler, texture code, and stream code were
added to support binding to external D3D11 NV12 textures. An end2end test
was also added to test sampling of YUV textures and converting to RGB.
There is also a new script to convert BMP files to an NV12 texture ready
to load into D3D11 for testing purposes.
BUG=angleproject:1332
Change-Id: I098940e6f25e113dcc4fc8d22ffed4b5a16fd860
Reviewed-on: https://chromium-review.googlesource.com/339454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
|