|
94320a83
|
2022-05-27T17:41:29
|
|
Metal: Validate total bits used in color attachments
Metal has 2 limits for color attachments. 1 the number of
attachments supported. 2 the total number of bits it can
write per pixel. So for example Apple4 through Apple8 GPUs
can have 8 attachments but only 512bits of output. That
means you can attach 8 RGBA8 textures (256bits), but you
can't attach 8 RGBA32UI textures (1024bits).
If there are too many bits then return
FRAMEBUFFER_UNSUPPORTED from checkFramebufferStatus
and INVALID_FRAMEBUFFER_OPERATION from draws
Bug: angleproject:7280
Change-Id: I935aebad4d57664f59a60be20a927d6b69afb4ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3674322
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
b7474d0a
|
2022-04-28T14:44:54
|
|
D3D11: Add GL_EXT_texture_buffer support
tested: deqp-gles31.exe --deqp-gl-context-type=egl
--deqp-case=dEQP-GLES31.functional.texture.texture_buffer.* passed
Bug: b/206367167
Change-Id: I31a6f84bd701a737735a6bac2f4eef780c24a979
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3639722
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
02b96848
|
2022-04-21T16:32:31
|
|
Vulkan: Add support for GL_QCOM_shading_rate
Layer GL_QCOM_shading_rate over VK_KHR_fragment_shading_rate
Test: ShadingRateQcomTest*
Bug: angleproject:7172
Change-Id: I3f040dbfad3906facd4349937fed2ce9a464b824
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3599874
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
c5271e8e
|
2022-04-04T23:28:35
|
|
Vulkan: Emulate GL_KHR_blend_equation_advanced
Based on a change by Brandon Schade <b.schade@samsung.com>
In the translator, when advanced blend is enabled, an input attachment
is added. Based on the listed advanced blend equations, emulation code
is added that performs those equations' functions. The blend equation
itself is passed through a driver uniform.
Note that the advanced blend extension only allows a single output to
use advanced blend, and that should be at location 0.
In the Vulkan backend, when advanced blend is used, the driver uniform
to select the equation is updated and normal blending is disabled.
Bug: angleproject:3586
Change-Id: Icc42e8be238d34fca149087eb9cfe616a7643a6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3575738
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a1c9ba70
|
2022-04-04T11:29:13
|
|
Update validation of glFramebufferTextureLayer for cube maps
The ES 3.2 spec explicitly mentions cube map parameters for the call:
For cube map textures, layer is translated into a cube map face as
described in table 8.24. For cube map array textures, layer
is translated into an array layer and a cube map face as described for
layer-face numbers in section 8.5.3
but does not list it when enumerating errors:
An INVALID_OPERATION error is generated if texture is non-zero and is
not the name of a three-dimensional, two-dimensional array,
two-dimensional multisample array or cube map array texture.
There is a bug filed about this:
https://gitlab.khronos.org/opengl/API/-/issues/134
Per discussion, it should not be an error to use a cube map with
glFramebufferTextureLayer. It will be fixed in the spec.
Test: DrawBuffersTestES3.CubeMapTextures
Test: DrawBuffersTestES3.CubeMapArrayTextures
Bug: angleproject:7168
Bug: angleproject:7169
Change-Id: I6ef9af4b2bf05dc2dee841c68fb4f896c30c8c03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569337
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
078da78f
|
2022-03-17T13:06:58
|
|
Vulkan: Support GL_EXT_EGL_image_storage extension
This extension provides a mechanism for creating texture objects that
are both EGLImage targets and immutable and removes the possibility of
implicit orphaning. EGL images created from external sources now
support types other than 2D. Tests covering the new feature were added
to ImageTest.cpp.
Bug: angleproject:6346
Change-Id: Id3e328f352deb1af47062be232384229a8b1c341
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3530489
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.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>
|
|
a956162c
|
2022-03-01T13:05:29
|
|
Vulkan: Expose performance counters via extension.
This CL rewrites the Vulkan perf counters test to work in the
angle_end2end_test suite using the newly exposed AMD extension.
Note that we implement only a subset of the extension. Instead
of generating monitors and starting/stopping them we simply
read back all performance counter data at once using the special
montior value "0".
The CL also enables these tests on SwiftShader.
Bug: angleproject:4918
Change-Id: I5d8f6eecb1ccff448657cbdb65b51a225dfb90c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3497538
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2893effa
|
2022-02-10T14:28:32
|
|
validationESEXT: Implement ValidateGetCompressedTexImageANGLE.
Add CompressedTexImageNegativeAPI test.
Bug: angleproject:6177
Test: angle_end2end_tests --gtest_filter="GetImageTest.CompressedTexImageNegativeAPI*"
Change-Id: Ia7ed503a7a98f10e4b02deb3954f367f842da3fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3452112
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
c48e35b9
|
2022-02-04T01:44:36
|
|
Add more info in BlitFramebuffer error message
Bug: chromium:1290638
Change-Id: Id1faab26df2f19b90ec85aff6852334e8fda03ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3436326
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
66e01ae5
|
2022-01-26T15:57:26
|
|
Expand error message on BindTexture validation failure
Bug: chromium:1288391
Change-Id: I34098a64162c78c20a485ece1cd98178242c6864
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3417919
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e5c9b385
|
2022-01-19T11:11:20
|
|
Add object label in glBindTexture() error message
Bug: chromium:1288391
Change-Id: Ic1d1e96c33d5fde7659107735846dbf2c3ce9360
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3399244
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
9184973f
|
2021-07-21T08:28:30
|
|
Add GetCompressedTexImageANGLE to ANGLE_get_image
Includes front-end support for reading back compressed texture images.
Back-end support is incomplete and will be implemented in a future CL.
CL authored by cnorthrop@google.com.
Bug: angleproject:6177
Change-Id: I1482b15e5ffec6120f09f51b2718cdbef07c93c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163359
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
47279c72
|
2021-08-15T23:20:32
|
|
Adjust compressed texture validation; add test
- Format check happens before target check to accommodate
for unknown / disabled format enums.
- PVRTC1 and ETC1 enums are not allowed for 2D Array
and 3D targets.
- PVRTC1 sRGB formats require enabling two extensions.
- New noCompressedTexture3D limitation for older Metal
versions.
The test checks that only the appropriate entry points
are affected after enabling compressed texture extensions.
Bug: angleproject:5731, angleproject:6280
Change-Id: I4943cd3a82f60f9348215caa8639e0bc3e8b45db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094018
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6136620b
|
2021-03-25T15:43:06
|
|
Reland "EGL: GLES: Implement GL_EXT_protected_textures"
This is a reland of 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa
This removes changes in gl backend.
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: Id36d697c53afc0f0dadf92bda4565f9157f4fc2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076825
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c664601d
|
2021-04-26T17:08:06
|
|
Allow drawing if a fragment shader isn't present
According to the OpenGL ES 3.1 spec:
7.3 PROGRAM OBJECTS
If there is no active program for the vertex or fragment shader
stages, the results of vertex and fragment shader execution will
respectively be undefined.
If there isn't an active program for only one of these shader
stages, the results of the other shader stage are still defined.
To handle this, we no longer no-op the draw call if one of these
is missing. We only no-op the draw if there's no vs.
This allows for transform feedback to be captured when there's only
a geometry and vertex shader.
Tests: KHR-GLES32.core.geometry_shader.api.program_pipeline_vs_gs_capture
Tests: KHR-GLES32.core.separable_programs_tf.geometry_active
Tests: ProgramPipelineTest31.PipelineWithoutVertexShader*
Tests: ProgramPipelineTest31.PipelineWithoutShaders*
Bug: angleproject:5579
Change-Id: If9849cc398c307232435b167ab12431fa4258201
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906723
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c408926f
|
2021-07-22T12:00:59
|
|
Revert "EGL: GLES: Implement GL_EXT_protected_textures"
This reverts commit 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa.
Reason for revert: Suspected for breaking ANGLE->Chrome roller.
Bug: angleproject:6204
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:3965
Change-Id: Ia3ef260a17097b474189ccad5b235a9db99ee00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
6210a9b3
|
2021-03-25T15:43:06
|
|
EGL: GLES: Implement GL_EXT_protected_textures
Implement EGL_EXT_protected_content Images
Add protected member to Images and Textures
Add error when creating objects if not supported or
does't match native buffer
When creating siblings pass protected state
Add extension caps
Add Validation
Add GetTexParameter and SetTextparameter
Add protected to Texture and state
Expand tests for images and textures
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
cf853b30
|
2021-06-03T13:54:44
|
|
Add missing buffer validation to BeginTransformFeedback.
A change to Vulkan exposed this missing validation. In the Vulkan
back-end we do some caching on BeginXFB, which would perform an
invalid memory access. Adding the missing validation correctly
traps the error before we reach the back-end.
Bug: chromium:1171685
Bug: angleproject:4622
Change-Id: I5c92575a07149e431c4f260a4555ff196822c64e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2937022
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bccb0d56
|
2021-05-11T13:53:05
|
|
Add messages for framebuffer completeness errors.
This also creates a common code path for all framebuffer
completeness errors (FramebufferStatus::Incomplete) which
helps for adding a debug breakpoint.
Bug: angleproject:5949
Change-Id: Ib102dbf86e020777e56c6dc6b78dda8ebdba2127
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2888110
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
68f35f24
|
2021-01-07T14:42:57
|
|
Vulkan: Add GL_EXT_clip_control entry points
Addition of the entry points for GL_EXT_clip_control extension.
Bug: angleproject:5471
Change-Id: If17ba0120bdb226cc5728bfea83e9085260eba19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2615862
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
f197ebac
|
2020-11-16T15:16:56
|
|
Vulkan: Add EXT_external_buffer support
Addition of buffer support for external memory
Also adds new end2end tests for these usecases
* SubData update
* map/unmap buffer
* dispatch compute with external buffer
Bug: angleproject:5073
Test: ExternalBufferTestES31.*Vulkan
Change-Id: Ib3cccaca77b76830effe49d3731782552e7424ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525105
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@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>
|
|
fbaae6ce
|
2020-07-24T11:47:12
|
|
GL: Add support for GL_OES/EXT_texture_buffer
This extension is core in 3.2
Based on a CL by Jonah Ryan-Davis.
Bug: angleproject:3573
Bug: angleproject:4933
Change-Id: Ib5ce038414075a5cdce36e9404e25d7af33fb39c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2519401
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1e494cae
|
2020-10-07T19:26:01
|
|
Vulkan: Add support for EXT_copy_image
Add support for GL_EXT_copy_image which allows
image data transfer between image objects.
This is implemented by using the vkCmdCopyImage
API call.
Bug: angleproject:3593
Test: dEQP-GLES31.functional.copy_image.*
Change-Id: I30a34a8711b5d2e5834064d7453e03d6ec0df478
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2393955
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
089ef0fa
|
2020-10-14T11:31:56
|
|
Expose glGetTexLevelParameter{if}v before ES 3.1.
Add a new extension, ANGLE_get_tex_level_parameter which allows
users to query texture size and format information before ES 3.1.
This is very useful for re-using existing textures instead of
re-allocating.
Bug: chromium:1132514
Change-Id: I71f6bad8bdacb91875cc81b4884d4c3099235f3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469959
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
32f0dd6a
|
2020-10-15T10:08:51
|
|
Add Queries and Setters for resource initialization state.
There are cases where we know that the next draw operation will fully
initialize a texture/renderbuffer and we can save the robust resource
init cost.
Default all resource init state to Initialized, any redefinition will
set it back to MayNeedInit.
After setting an individual texture image to initialized, check if
all images are now initialized and update the TextureState::mInitState
to match. The cost of this check is only performed after initializing
an image and allows future init checks to be faster.
Bug: chromium:1132514
Change-Id: Ia23664ae162559d1614f1eb5643e24a491d87f7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475456
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
001c7e8c
|
2020-09-21T13:25:46
|
|
Vulkan: Link PPO during draw validation
From the OpenGL ES 3.1 spec:
11.1.3.11 Validation
It is not always possible to determine at link time if a program object
can execute successfully, given that LinkProgram can not know the state
of the remainder of the pipeline. Therefore validation is done when the
first rendering command which triggers shader invocations is issued, to
determine if the set of active program objects can be executed.
For draws, this CL moves the PPO link operation to ValidateDrawStates()
to generate PPO link failures within ANGLE's validation layer, so we
fail any rendering commands during command validation.
For dispatch, PPOs are linked during Context::prepareForDispatch(),
where the PPO is converted from draw to compute, since that conversion
requires a re-link. This re-link shouldn't fail due to errors that would
have been caught during validation, since the compute shader must have
successfully linked before it can be included in the PPO in the first
place. We don't re-link when converting back to draw, since it's
possible there are validation errors (which we want to catch during
validation of the next rendering command).
Bug: angleproject:5064
Test: dEQP.GLES31/functional_separate_shader_validation_es31_*
Test: ContextNoErrorTest31.DrawWithPPO
Test: ProgramPipelineTest31.VerifyPpoLinkErrorSignalledCorrectly
Change-Id: Ibb249e893c007a83cc6b813f848a660bfa34ecb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2422375
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
a2d8bbb5
|
2020-09-18T18:18:34
|
|
Vulkan: Add GL_EXT_buffer_storage extension support
Addition of support for immutable storage to buffer objects.
Also adds new end2end tests for these usecases
* Basic BufferStorage
* SubData update
* map/unmap buffer
Bug: angleproject:5056
Tests: angle_end2end_tests --gtest_filter=BufferStorageTestES3*Vulkan
Change-Id: Iba74b372ad033711927b63c6a04cec0eeb4db699
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419952
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
9e2953c2
|
2020-09-23T07:57:22
|
|
Vulkan: Enable OES_texture_storage_multisample_2d_array
The implementation for OES_texture_storage_multisample_2d_array
already exists. This patch just enables the appropriate capability flag
only if the underlying Vulkan ICD supports standardSampleLocations
Bug: angleproject:3583
Tests: angle_end2end_tests
--gtest_filter="*TextureMultisampleArrayWebGLTest*Vulkan"
dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array.*
dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample_array.*
Change-Id: I2ea89041d9aa8c7d94c9ba732f12528c809807ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2416979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
fc4bd898
|
2020-08-03T16:29:06
|
|
Vulkan: Support ANGLE_external_objects_flags
With this extension, it is possible to import Vulkan images into ANGLE
(similar to EXT_external_objects) while specifying the Vulkan create and
usage flags used to create that image. This can be used by the
application to drop usage flags it does not need to improve performance,
or add create flags as it requires.
Bug: angleproject:4912
Bug: fuchsia:52759
Change-Id: Ia568973b19670999dd0e69f6ac5548e8ef0c3eec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335020
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
|
|
d7d79de3
|
2020-07-30T11:08:02
|
|
Update inaccurate error string.
Noticed when working on the traces.
Bug: angleproject:4845
Change-Id: I954851bc739e41ce84047eaf5e0dc4c8bcf57199
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329832
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
08c4d094
|
2020-07-16T18:48:59
|
|
Improve WebGL 2.0 readPixels support.
Emulate GL_PACK_SKIP_PIXELS and GL_PACK_SKIP_ROWS on macOS, where it
appears the OpenGL driver ignores these parameters.
Add WebGL 2.0-specific validation constraints for pixel pack and
unpack parameters.
Bug: angleproject:4849
Change-Id: Iab566299223e05484a009817acb1ed2816023823
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2303905
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7fde3673
|
2020-05-25T15:48:06
|
|
GL: Support GL_OES_texture_cube_map_array in frontend/GL backend
GL_OES_texture_cube_map_array is core in 3.2. This CL adds the
necessary validation for the frontend, as well as support for this
extension on the GL backend. The next step is to add the changes
to the translator.
Bug: angleproject:3584
Change-Id: I751a9c9f71a553b05fdf6673250290806d8cfbff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215306
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
78ef4133
|
2020-05-15T23:24:18
|
|
Fix invalid enums for OES_draw_buffers_indexed
Make sure the new enums are invalid before the extension is enabled.
Add a angle_end2end_test for that.
Bug: angleproject:4394, chromium:1058744
Change-Id: Ib88f6159294dab2eb7d3662b96c44424ab132782
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2205179
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
204720bd
|
2020-05-08T18:08:37
|
|
Fix GetBooleani_v validation and params length for WebGL OES_draw_buffers_indexed
WebGL 2 seems to be ES300 context and will fail the
ValidateGetBooleani_v at context->getClientVersion() >= ES_3_1.
Also for getIndexedParameter pname==GL_COLOR_WRITEMASK, the length
shall be 4.
Bug: angleproject:4394, chromium:1058744
Change-Id: Ia60506b6b1f120ed06acbcea0cb1f4581c70b32b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2191424
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
405f8e7b
|
2020-02-24T17:38:10
|
|
Vulkan: Support Program Pipeline Objects
Add support for PPOs to the Vulkan back end.
Bug: angleproject:3570
Change-Id: I5403456929847c185467b008d810f31ecfcb60cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2072652
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
13ea5b7f
|
2020-03-19T12:43:12
|
|
Implement gl[Get]MemoryObjectParameterivEXT
These functions are required to tell the driver that the memory object
is dedicated memory. This is required for AMD drivers on Linux.
Bug: chromium:1049218
Change-Id: I17d69cde5e6308791dc90784f4d6e348503a6ed6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2110051
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
07467b4a
|
2020-03-20T10:40:56
|
|
Remove GL_CHROMIUM_path_rendering
Bug: chromium:1063193
Bug: angleproject:4270
Change-Id: I35b24b7d8d892181955e49dd2495655bc57cb0df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2112275
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
605ab763
|
2020-02-24T19:43:32
|
|
D3D11: Implement OES_draw_buffers_indexed
Existing CONSTANT_COLOR/CONSTANT_ALPHA limitation was generalized to independent blend states with draw call invalidation and a new end2end test. dEQP tests that are incompatible with this limitation result in INVALID_OPERATION and are marked as FAIL.
D3D11 renderer always normalizes and deduplicates requested blend states based on their enabled features and bound framebuffer.
Bug: angleproject:4394
Change-Id: I284796e18be71de1b5bfb087d36f6a45be4c3f70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070575
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
33b1e31e
|
2020-02-08T17:48:56
|
|
Fix compressed formats validation with TEXTURE_3D
Bug: angleproject:4385
Change-Id: Ibc1b482ec851d8076aacad84ab67fe20a745c122
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2045512
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
5da6f444
|
2019-10-30T12:54:49
|
|
Fix error string commas.
For example: 1, 2, 3, 4 became 1 = 2 = 3 = 4.
These were acidentally changed to equals signs way back in this CL:
610640fabee9 "Don't use gl::Error in validation."
Bug: angleproject:4067
Change-Id: I05d1c5ecc5f6fb7636f81ca59d05928dd940bf8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1890631
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dfc20daf
|
2019-10-28T13:51:42
|
|
Plumb more logic for ANGLE_get_image.
Also implements and tests validation / negative API.
Bug: angleproject:3944
Change-Id: I3385a4255f4fab6a12eee2abfa5ffcce2107359a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879961
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
c42da4e5
|
2019-10-03T13:46:28
|
|
Extend ANGLE_request_extension with DisableExtension
ARB_texture_rectangle is the only currently supported disablable
extension. This allows us to use ARB_texture_rectangle in WebGL
implementations without exposing it to WebGL user shaders.
Bug: angleproject:3956
Bug: angleproject:3770
Change-Id: I80b10d2e9c9feebe545ce15195721487165ecc51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1838418
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aa292a59
|
2019-10-10T08:22:04
|
|
Generate GLES 3.2 entry points
This is a combination of:
- Changing the "scripts/generate_entry_points.py" script to tell it to
also auto-generate GLES 3.2. Also changing "scripts/gen_proc_table.py".
- Generating new and modified files needed to add GLES 3.2 to the
ANGLE front-end. This is done by running the following command:
"python scripts/run_code_generation.py".
- Creating the following files:
- src/libANGLE/validationES32.h
- src/libANGLE/validationES32.cpp
- src/libANGLE/capture_gles_3_2_params.cpp
- Hand-editing the following files:
- src/libGLESv1_CM/libGLESv1_CM.cpp
- include/GLES2/gl2ext_angle.h
- src/libGLESv2.gni
- src/libANGLE/Context.h
- src/libANGLE/Context.cpp
- src/libANGLE/Context_gl.cpp
- src/libANGLE/ErrorStrings.h
- src/libANGLE/State.h
- src/libANGLE/validationES1.cpp
- src/libANGLE/validationGL3.cpp
- src/libANGLE/validationGL31.cpp
- src/libANGLE/validationGL32.cpp
- src/libANGLE/validationGL33.cpp
- src/libANGLE/validationGL4.cpp
- src/libANGLE/validationGL43.cpp
- src/libANGLE/validationGL45.cpp
Bug: angleproject:3649
Change-Id: I5b67f72e3e3b55e74039ec3e28aa8d399ec08cf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1850231
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
fea65766
|
2019-09-19T09:30:38
|
|
Vulkan: Add support for OES_vertex_type_10_10_10_2
- Add support to CPU/GPU convert vertex formats
- Add test cases for type conversion in angle_end2end_tests
- Fix a bug in shader script by adding a ceil when calculating bytes
Bug: angleproject:3192
Test: angle_end2end_tests --gtest_filter=VertexAttributeTest*Packed1010102*
Change-Id: I57bab9fc1c1041cd734746d0e52a33717b635ec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1788495
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
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>
|
|
90958e35
|
2019-08-07T16:26:14
|
|
Implement ValidateFramebufferTexture3DOES
Bug: angleproject:3188
Test: KHR-GLES2.texture_3d.framebuffer_texture.negative
Change-Id: I9a27c713bd7ea18b9f7d9943c6c180f92856c643
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743079
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ab6a59b2
|
2019-05-21T21:26:26
|
|
Vulkan: Submit semaphores from glWaitSemaphoreEXT & glSignalSemaphoreEXT
Implement submission of client semaphores passed to glWaitSemaphoreEXT &
glSignalSemaphoreEXT.
This also relaxes the expectation that we will not flush() if there are
no commands. Signaling semaphores in particular requires queue submission
irrespective of whether there are any command buffers to submit. If there
are neither commands nor semaphores, we can still skip queue submission.
WebGL runs in Chrome with ANGLE & Vulkan interop as of this patch, albeit
with incorrect synchronization due to texture barriers not being
implemented yet. Quite a few flags are needed to try this:
GN args: angle_vulkan_conformant_configs_only=true
chrome \
--enable-features=UseSkiaRenderer,UiGpuRasterization \
--enable-gpu-rasterization \
--enable-oop-rasterization \
--enable-vulkan \
--use-gl=angle \
--use-angle=vulkan
Bug: angleproject:3289
Change-Id: I3d49c230a2fbf0cd2a2b943b05ded0e4604cc313
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623815
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
15ce8227
|
2019-03-18T19:25:21
|
|
Fix error report when active color buffer has no fs output
Also modify or remove some tests to sync up with the expected behavior
stated in spec.
Related to https://github.com/KhronosGroup/WebGL/pull/2780
If any draw buffer with an attachment does not have a defined fragment shader output,
draws generate INVALID_OPERATION.
Also remove Framebuffer masking for inactive outputs.
This workaround is no longer necessary as the WebGL spec has changed.
It also was never fully working and had bugs with certain orders of
calls.
Bug: angleproject:2872
Bug: chromium:927908
Bug: chromium:943538
Change-Id: I73715a6ab851ae3db7096f49ea0a9fdd6f576703
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530018
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
fb6fbdbc
|
2019-04-12T15:16:30
|
|
Return that polling queries have completed after context loss.
KHR_robustness says that certain queries that poll such as GetSynciv with
SYNC_STATUS should still generate errors after context loss but also return
that the result is available.
BUG=angleproject:3379
Change-Id: Ibf61f8481bc7c3d1b4fa8979dc404d0ca3952fcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566142
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
057b76e1
|
2019-04-12T14:48:59
|
|
Implement GL_CHROMIUM_lose_context.
This is useful for testing context lost behaviour.
BUG=angleproject:3379
Change-Id: If0e1538553b1761e313fc36ccde5138cd495200f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566141
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3b2c6bfd
|
2019-04-16T17:19:50
|
|
Vulkan: Implement glImportMemoryFdEXT
Allow importing opaque file descriptors into memory objects on linux.
Currently this just holds onto the file descriptor rather than calling
vkAllocateMemory immediately. The latter will be easier once we have
support for suballocation (anglebug.com/2162).
Bug: angleproject:3289
Change-Id: Ia80ce07b2a9ec95b9063feb9bfeb24ffe77fa40e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552028
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5f388c24
|
2019-03-14T09:54:23
|
|
Vulkan: dEQP-EGL.functional.image.modify.*
Determine the destination internalFormat correctly.
dEQP-EGL.functional.image.modify.renderbuffer_rgb565_tex_subimage_rgb8
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgb565_tex_subimage_rgb8
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba8_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.tex_rgba8_tex_subimage_rgba4
dEQP-EGL.functional.image.modify.tex_rgba5_a1_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba5_a1_tex_subimage_rgba4
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba5_a1
dEQP-EGL.functional.image.modify.renderbuffer_rgb5_a1_tex_subimage_rgba8
dEQP-EGL.functional.image.modify.renderbuffer_rgb5_a1_tex_subimage_rgba4
Bug: angleproject:3170
Change-Id: Ic9870390b2d4a0dcbe561efd3fb1597faadb7d79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524404
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c87e0053
|
2019-02-21T11:40:28
|
|
add ext_float_blend feature and test
Bug: chromium:930993
Change-Id: I8edbd01c5c9f1ed63243cc4a42f6de44c92db8bd
Reviewed-on: https://chromium-review.googlesource.com/c/1481242
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
c8c7d400
|
2019-01-16T13:27:15
|
|
Use a table for vertex attrib type validation.
No clearly sampled effect on performance but should require fewer
instructions. May lead to future improvements.
Bug: angleproject:3014
Change-Id: I64e155926ae2c553b059265780e72e91f91f097c
Reviewed-on: https://chromium-review.googlesource.com/c/1393906
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
465d6090
|
2019-01-02T16:21:18
|
|
Add GL_ANGLE_provoking_vertex on D3D11 and GL.
This extension is a subset of GL_ARB_provoking_vertex without the
QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION query.
Bug: angleproject:2829
Change-Id: I907a4d16b7b13d3bbfb948842091eedd7b6a8b77
Reviewed-on: https://chromium-review.googlesource.com/c/1410289
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e4109f27
|
2018-12-13T16:25:53
|
|
WebGL: validate texture format matches sampler type
WebGL requires that drawing produces INVALID_OPERATION if a texture's
format doesn't match the sampler type it is bound to. This is a little
confusing because samplers have two attributes that could be called
"type": addressing mode (2D/3D/Cube), and component format
(float/signed/unsigned/shadow). ANGLE already handled checking the
addressing mode; this change adds checking for the component format.
Fixes WebGL conformance test
conformance2/uniforms/incompatible-texture-type-for-sampler.html
Bug: chromium:809237
Change-Id: I52ebfecd92625e3ee10274cb5f548d7e53de72dd
Reviewed-on: https://chromium-review.googlesource.com/c/1377611
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
c3e3731c
|
2018-11-30T15:25:39
|
|
Give every validation error a constant.
Makes the code more consistent and organized.
Also reduces binary size by about 4k.
Also refactors validation for GetBufferPointerv.
Bug: angleproject:2957
Change-Id: Ib076ce936193e9840eef2499bf815489cdb48479
Reviewed-on: https://chromium-review.googlesource.com/c/1350489
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
2c0d6a94
|
2018-11-28T14:03:58
|
|
WebGL: Fix DrawElements test and remove size check.
Also optimizes the DrawElements validation to remove redundant tests.
Also make some more validation WebGL-specific.
Bug: angleproject:2979
Change-Id: I2d5c3094ed86ebadbc572e46b8ae105431f7ae68
Reviewed-on: https://chromium-review.googlesource.com/c/1343139
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
83b2f0e8
|
2018-11-27T15:56:01
|
|
WebGL: Forbid GenerateMipmap on zero-size textures
This is a WebGL spec change:
https://github.com/KhronosGroup/WebGL/commit/bfbe124a7bb92eed34ea7cc18694167ed66b1030
Fixes conformance2/textures/misc/tex-mipmap-levels.html
Bug: chromium:898351
Change-Id: Ib20409e10bec598611be273577115a380a63b523
Reviewed-on: https://chromium-review.googlesource.com/c/1352385
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e0472f3d
|
2018-11-27T16:32:45
|
|
Slight refactor to ErrorStrings.h.
Allows for better readability. Also sort the error strings by ID.
Bug: angleproject:2957
Change-Id: Ib3900a4c90507ac84496fd5ff916417eb768667b
Reviewed-on: https://chromium-review.googlesource.com/c/1337461
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
471b8d4c
|
2018-11-21T15:37:47
|
|
WebGL, D3D: Forbid multiple TF outputs in one buffer
Implementing a WebGL spec change:
https://github.com/KhronosGroup/WebGL/pull/2658
Fixes WebGL 2 conformance test:
conformance2/transform_feedback/same-buffer-two-binding-points.html
Also applying the change to D3D backends because they can't support
multiple transform feedback outputs in one buffer.
Bug: chromium:866089
Change-Id: I8d7eda14225c13efb7ca1ed974239332be4e79a6
Reviewed-on: https://chromium-review.googlesource.com/c/1347749
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
610640fa
|
2018-11-21T17:28:41
|
|
Don't use gl::Error in validation.
Instead pass error code and error message directly to the Context. As
a side effect every validation error has an associated message now.
Reduces binary size by almost 100k.
Bug: angleproject:2957
Change-Id: I045e8ab57f8f9d787654a32f6f037011fe3a9f24
Reviewed-on: https://chromium-review.googlesource.com/c/1335890
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@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>
|
|
0ca09753
|
2018-09-24T11:00:50
|
|
Add GLES3 support for EXT_blend_func_extended
This adds GLES3 API support for EXT_blend_func_extended. The patch
includes the API entrypoints, validation and also implementation on
the desktop GL backend.
Instead of having built-in fragment color variables, ESSL 3.00 has
custom output variables, which can now be bound to either primary or
secondary output color locations. The "index" set to a custom output
variable determines whether it's used a primary or secondary blending
source color.
The shader layout qualifier takes precedence over the bind call. This
is not specified in the EXT spec, but is specified in desktop OpenGL
specs.
BUG=angleproject:1085
TEST=angle_end2end_tests
Change-Id: Ia24e8e5dadcc165e5e8fbd7c653c7fab6217db88
Reviewed-on: https://chromium-review.googlesource.com/c/1249361
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4e6f2aea
|
2018-09-19T11:09:51
|
|
Implement ANGLE_copy_texture_3d Extension
Adds copyTexture3DANGLE and copySubTexture3DANGLE that adds copy
operations on volumetric textures.
Bug: angleproject:2762
Test: angle_end2end_tests
Change-Id: I0076989c2b7ed69abfc73143c325065bdb06a360
Reviewed-on: https://chromium-review.googlesource.com/c/1207216
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
064458a8
|
2018-08-30T14:02:02
|
|
Remove separate ANGLE_texture_multisample_array
We can just expose OES_texture_storage_multisample_2d_array instead.
The compiler was already changed to accept
OES_texture_storage_multisample_2d_array, and now the change is made
also at the API level.
Out-of-bounds access guarantees provided by ANGLE were the only big
difference between the ANGLE spec and the OES spec, so it's simpler
to just expose the native extension. Safe out-of-bounds accesses can
be guaranteed without having them in the extension spec.
This also adds missing texStorage3DMultisample entry point to the proc
table, which will enable running dEQP tests.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: Idf376ee877a3374a33de177df023f0531ec8f01d
Reviewed-on: https://chromium-review.googlesource.com/1196722
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
fd162107
|
2018-08-27T16:14:57
|
|
Support multisample arrays as framebuffer attachments
This contains tests for framebuffer completeness when layers of
multisample array textures are attached.
Simple clearing of a layer of a multisample color texture array and
blitting the result to a non-multisampled texture is also covered.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: Idf383cab69587dbd8157ab9a2b7c47e5a90b3cf7
Reviewed-on: https://chromium-review.googlesource.com/1190184
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
d310a434
|
2018-08-24T15:40:23
|
|
Add validation and negative tests for multisample arrays
This adds errors for binding and allocating multisample array
textures. New tests in TextureMultisampleTest.cpp check that the
errors are generated as specified.
Tests for querying supported sample counts are also improved and
extended for multisample array textures.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I6a0fe7ae04bb3d0072f6cbe09026b05e2bc47325
Reviewed-on: https://chromium-review.googlesource.com/1188576
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b42162fb
|
2018-08-20T12:58:37
|
|
Optimize ValidateDrawStates.
Apparently returning a small struct was slow enough to make a 2-3%
difference in benchmark scores. Very visible on the MSVC sampling
profiler.
Bug: angleproject:2747
Change-Id: I459a127f3f2a0fc3a08db15c37257a67f63f20ce
Reviewed-on: https://chromium-review.googlesource.com/1181465
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6e5bf36f
|
2018-08-15T09:53:17
|
|
GLES1: Fixes for Gets() test
- Fixed wrong face parameter for glGetMaterial*.
- Enabled GL_LINE_SMOOTH capability in state only (no rendering yet)
- Enabled logical operation capability in state only (no rendering yet)
- Fixed wrong handling of GL_RGB/ALPHA_SCALE and
GL_POINT_COORD_REPLACE_OES
Test: Enable and pass Gets() GLES1 conformance test
BUG=angleproject:2306
Change-Id: Ib5c50a2055129b76ad24053baf0dac24dcc00761
Reviewed-on: https://chromium-review.googlesource.com/1176161
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
f0e3c19a
|
2018-08-15T13:37:21
|
|
Add error messages for BlitFramebuffer related errors
These are particularly helpful when debugging multiview rendering that
requires a framebuffer blit.
Existing blitFramebuffer error message strings are moved to
ErrorStrings.h.
BUG=angleproject:1617
TEST=angle_end2end_tests
Change-Id: I6e8b45355045d80abf044714ac4b9d818c53bf46
Reviewed-on: https://chromium-review.googlesource.com/1175125
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e7d80f33
|
2018-08-08T15:49:23
|
|
Refactor ValidateDrawBase.
Split the parameter-dependent and parameter-independent validation.
This will more easily let us cache independent validation in Context.
Bug: angleproject:2747
Change-Id: I78a12798cd03a398392ca213bf51e2079295b97e
Reviewed-on: https://chromium-review.googlesource.com/1158610
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0df813c3
|
2018-07-12T12:52:06
|
|
GLES1: GL_OES_draw_texture
BUG=angleproject:2306
This implements GL_OES_draw_texture using a few bits of new state
in the renderer and adding a code path for it in the shader, using
gl_VertexID to draw the quad backing the texture draw. This allows us
to avoid allocating a separate vertex array for the texture draw and
reuses the current shader as much as possible, plugging in to the
existing multitexturing pipeline.
- Add unit test and sample
- No new test expectations, but advertising GL_OES_draw_texture makes
the DrawTex GLES1 conformance test non-trivial and actually test
glDrawTex*.
Change-Id: I1485098249fe44d46a01cab4bb7b2c39d0492923
Reviewed-on: https://chromium-review.googlesource.com/1135930
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
9c4c0926
|
2018-06-13T09:29:00
|
|
Reland "GLES1: Point rasterization (partial implementation)"
This is a reland of 4004ae0e033a0169de3cb53c0a036833ad47178a
Fix: Put the missing early-out in ValidatePointParameterCommon
Original change's description:
> GLES1: Point rasterization (partial implementation)
>
> - Not included: Smooth points
>
> - GL_OES_point_sprite
> - Update test expectations. Note: due to different random sampling,
> edge cases were hit in UserClip. Disabling that test for now.
>
> BUG=angleproject:2306
>
> Change-Id: If8367bc3321804b3299d3bc381d6a8e236754baa
> Reviewed-on: https://chromium-review.googlesource.com/1101910
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Lingfeng Yang <lfy@google.com>
Bug: angleproject:2306
Change-Id: Id8e71352a77ff0ce71cb604965effbfb8aca613e
Reviewed-on: https://chromium-review.googlesource.com/1108458
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
a58d69e9
|
2018-06-20T18:07:11
|
|
Revert "GLES1: Point rasterization (partial implementation)"
This reverts commit 4004ae0e033a0169de3cb53c0a036833ad47178a.
Crash in PointParameterTest.NegativeEnum/ES1_OPENGL.
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20GPU%20ASAN%20Release/1178
angle_end2end_tests on Intel GPU on Mac on Mac-10.12.6
angle_end2end_tests on ATI GPU on Mac Retina on Mac-10.12.6
Original change's description:
> GLES1: Point rasterization (partial implementation)
>
> - Not included: Smooth points
>
> - GL_OES_point_sprite
> - Update test expectations. Note: due to different random sampling,
> edge cases were hit in UserClip. Disabling that test for now.
>
> BUG=angleproject:2306
>
> Change-Id: If8367bc3321804b3299d3bc381d6a8e236754baa
> Reviewed-on: https://chromium-review.googlesource.com/1101910
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Lingfeng Yang <lfy@google.com>
TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,lfy@google.com
Change-Id: I776ce0506d349382b3af035c962aa2c3f6826b99
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2306
Bug: angleproject:2680
Reviewed-on: https://chromium-review.googlesource.com/1108457
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
4004ae0e
|
2018-06-13T09:29:00
|
|
GLES1: Point rasterization (partial implementation)
- Not included: Smooth points
- GL_OES_point_sprite
- Update test expectations. Note: due to different random sampling,
edge cases were hit in UserClip. Disabling that test for now.
BUG=angleproject:2306
Change-Id: If8367bc3321804b3299d3bc381d6a8e236754baa
Reviewed-on: https://chromium-review.googlesource.com/1101910
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
45b5a875
|
2018-06-07T11:33:25
|
|
GLES1: Texture environment API
BUG=angleproject:2306
Change-Id: Ibb168d5c9f7aa96a48c96ffbe96ecead2276975e
Reviewed-on: https://chromium-review.googlesource.com/1092101
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7ba3f425
|
2018-06-01T09:43:04
|
|
GLES1: Fog API and rendering
- Update test expectations
BUG=angleproject:2306
Change-Id: Ic5aa5f052bcbe9c5adaf0eb0c6c06df66fd1720c
Reviewed-on: https://chromium-review.googlesource.com/1082978
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
060088a5
|
2018-05-30T20:40:57
|
|
GLES1: Clip plane API and rendering
- Add unit tests for the API
- Update test expectations
+ Pass through point size from the vertex array to the shader,
required for new tests to pass.
BUG=angleproject:2306
Change-Id: Ib19436c1f4cb12873adea94f734c821363f9e27d
Reviewed-on: https://chromium-review.googlesource.com/1079993
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a0cfa873
|
2018-05-30T21:12:17
|
|
GLES1: Shade model API
+ add sample
BUG=angleproject:2306
Change-Id: Ie0c391618ec2b771cc99b96db02b9008a86272b9
Reviewed-on: https://chromium-review.googlesource.com/1079992
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d0febe7a
|
2018-05-17T22:36:52
|
|
Reland "GLES1: Entry points for lighting and materials"
This is a reland of 4a09c1a245c406e402b3996b7ed33798b897e60f
Entry points have been autogenerated again.
Original change's description:
> GLES1: Entry points for lighting and materials
>
> - glLight*/glMaterial and their queries
> - Use new packed enums in these entry points, except for lightmodel
> which stays GLenum to be consistent with other generic glGet's
> - State.cpp: New glGet* queries related to light model and
> light/normal rescale enablement
> - GLES1State.cpp: Functions to get/set lighting/material state
> - Validation for lighting/materials
>
> + Add a few convenience methods to random_utils for sampling
> non-negative floats and a sampler for random booleans
>
> BUG=angleproject:2306
>
> Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e
> Reviewed-on: https://chromium-review.googlesource.com/1065502
> Commit-Queue: Lingfeng Yang <lfy@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:2306
Change-Id: I434273acd5200dd9f4925e239a032cc8db31a434
Reviewed-on: https://chromium-review.googlesource.com/1072849
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
5f9482f4
|
2018-05-18T09:00:09
|
|
ES31: Implement FramebufferTextureEXT entry point
This patch adds the entry point and related validation for
FramebufferTextureEXT defined in OpenGL ES 3.1 extension
EXT_geometry_shader.
BUG=angleproject:1941
TEST=angle_end2end_tests
Change-Id: Id6804e0b3971f52273562ce1a325d8377926a558
Reviewed-on: https://chromium-review.googlesource.com/1069842
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
668e507f
|
2018-05-24T17:12:14
|
|
Revert "GLES1: Entry points for lighting and materials"
This reverts commit 4a09c1a245c406e402b3996b7ed33798b897e60f.
Reason for revert: Seems to break the build
Original change's description:
> GLES1: Entry points for lighting and materials
>
> - glLight*/glMaterial and their queries
> - Use new packed enums in these entry points, except for lightmodel
> which stays GLenum to be consistent with other generic glGet's
> - State.cpp: New glGet* queries related to light model and
> light/normal rescale enablement
> - GLES1State.cpp: Functions to get/set lighting/material state
> - Validation for lighting/materials
>
> + Add a few convenience methods to random_utils for sampling
> non-negative floats and a sampler for random booleans
>
> BUG=angleproject:2306
>
> Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e
> Reviewed-on: https://chromium-review.googlesource.com/1065502
> 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
Change-Id: Ifabd708ded87c7484ad6d466508e2c2d6ea2557c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2306
Reviewed-on: https://chromium-review.googlesource.com/1071828
Reviewed-by: Lingfeng Yang <lfy@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4a09c1a2
|
2018-05-17T22:36:52
|
|
GLES1: Entry points for lighting and materials
- glLight*/glMaterial and their queries
- Use new packed enums in these entry points, except for lightmodel
which stays GLenum to be consistent with other generic glGet's
- State.cpp: New glGet* queries related to light model and
light/normal rescale enablement
- GLES1State.cpp: Functions to get/set lighting/material state
- Validation for lighting/materials
+ Add a few convenience methods to random_utils for sampling
non-negative floats and a sampler for random booleans
BUG=angleproject:2306
Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e
Reviewed-on: https://chromium-review.googlesource.com/1065502
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b1e91380
|
2018-05-17T14:33:55
|
|
ES31: Implement EXT_geometry_shader framebuffer default layers on OpenGL
This patch implements FRAMEBUFFER_DEFAULT_LAYERS_EXT as a legal framebuffer
parameter required in OpenGL ES 3.1 extension EXT_geometry_shader on OpenGL
back-ends.
The query on FRAMEBUFFER_DEFAULT_LAYERS_EXT specifies the layer count used
when the framebuffer has no attachments.
BUG=angleproject:1941
TEST=dEQP-GLES31.functional.geometry_shading.query.framebuffer_default_layers
Change-Id: I888465dfe23da53541ec2fedb8616027df532466
Reviewed-on: https://chromium-review.googlesource.com/1063560
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
|
|
80c32ccb
|
2018-04-25T09:48:36
|
|
ES31: Add extra transform feedback rules in EXT_geometry_shader
This patch adds the additional transform feedback rules required in
EXT_geometry_shader. In this extension, more draw commands and render
primitives are allowed for transform feedback.
BUG=angleproject:1941
TEST=dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback.*
angle_end2end_tests
Change-Id: Iedc27dca5c24ca45cd4226a1a0066107c0b40e1d
Reviewed-on: https://chromium-review.googlesource.com/1055192
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
|
|
8d5571ac
|
2018-04-23T12:29:31
|
|
Restrict BlitFramebuffer dimensions in WebGL mode
Don't allow blitFramebuffer dimensions to overflow 32-bit integer
range as specified in WebGL 2.0 section 5.41.
BUG=chromium:830046
TEST=WebGL 2 conformance tests, angle_end2end_tests
Change-Id: Ia232291b09c94e1e4f837441c6720a78bab672fb
Reviewed-on: https://chromium-review.googlesource.com/1023856
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
abb09f12
|
2018-04-16T10:43:53
|
|
GLES1: Client vertex array pointer API
glVertexPointer
glNormalPointer
glColorPointer
glPointSizePointerOES
glTexCoordPointer
BUG=angleproject:2306
Change-Id: Id022b467ac998ea116130c5cec0c77afefb0dd4c
Reviewed-on: https://chromium-review.googlesource.com/1014381
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
01074436
|
2018-04-16T10:19:51
|
|
GLES1: gl(Enable|Disable)ClientState
+ Introduce the GL_OES_point_size_array extension for point size array
support.
BUG=angleproject:2306
Change-Id: Ib1a60b7dcd0497eb807f0d3c80bc95b4748d9a96
Reviewed-on: https://chromium-review.googlesource.com/1014282
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
bb5ce5cc
|
2018-04-09T08:08:46
|
|
GLES1: Built-in matrix operations
glRotate
glTranslate
glScale
glFrustum
glPerspective
glOrtho
BUG=angleproject:2306
Change-Id: Ia9321d52f5824ef7c15b56d94e23ff3b1fbc3151
Reviewed-on: https://chromium-review.googlesource.com/1002915
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e547aac7
|
2018-04-05T09:39:20
|
|
GLES1: gl(Push|Pop)Matrix
BUG=angleproject:2306
Change-Id: I96498aebbbc62ebd53e5320db17ef6a54d20d2dc
Reviewed-on: https://chromium-review.googlesource.com/998308
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
30b604d8
|
2018-03-12T17:26:57
|
|
Check that transform feedback will not overflow its buffers.
Also fix the check for uniform buffer size to use the actual buffer
size instead of the size of the bound range.
Bug: 820639
Change-Id: Iaa2a617ee7ce5ce7cfabbf64bd1d6f8c82c46b65
Reviewed-on: https://chromium-review.googlesource.com/965627
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
96310cda
|
2018-03-28T11:56:28
|
|
GLES1: glClientActiveTexture
+ adds query for GL_MAX_TEXTURE_UNITS
BUG=angleproject:2306
Change-Id: Ie89fa6a067551170856bf0f7e6d7b4452b3da132
Reviewed-on: https://chromium-review.googlesource.com/984894
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
13b708f2
|
2018-03-21T12:14:10
|
|
GLES1: glAlphaFunc
BUG=angleproject:2306
Change-Id: I0bf229d3ab8a4a1217c12b434dcd8fa67d7cbadc
Reviewed-on: https://chromium-review.googlesource.com/973897
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
447bfac1
|
2018-03-14T14:23:40
|
|
ES31: Support program parameter queries on geometry shader
This patch implements all the program queries on the geometry
shader stage of a program by glGetProgramiv(), including the
queries on geometry shader input/output primitives, invocations
and maximum output vertices
BUG=angleproject:1941
TEST=dEQP-GLES31.functional.geometry_shading.query.geometry_linked_*
dEQP-GLES31.functional.geometry_shading.query.geometry_shader_invocations
dEQP-GLES31.functional.state_query.program.geometry_shader_state_get_programiv
Change-Id: Ibfa630c64dba5baf52ff84ce7e0bf4c567eef8c4
Reviewed-on: https://chromium-review.googlesource.com/961397
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
fccebffe
|
2018-03-08T13:51:02
|
|
ES31: Support adjacency draw modes for geometry shader
This patch implements adjacency primitive types as new draw modes
on OpenGL back-ends.
This patch also implements validations on the compatibilities among
draw modes and geometry shader input primitive types.
BUG=angleproject:1941
TEST=dEQP-GLES31.functional.geometry_shading.input.*
dEQP-GLES31.functional.geometry_shading.negative.*
Change-Id: I373ebfe88d7f50da3cc81adaf2d1b7f586b0932a
Reviewed-on: https://chromium-review.googlesource.com/954715
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|