|
82c0ba93
|
2023-12-21T16:18:40
|
|
Set dirty bit when GLES1 texture state changes
During experiments, it was seen that some devices fail to use the
tex coord pointer properly after GL_TEXTURE_2D is re-enabled and there
is a draw without updating any additional attribute pointers.
* The GLES1 renderer will now also set the dirty bit for the vertex
array when GL_TEXTURE_2D state changes.
* (via setEnableVertexAttribArray())
* Updated the following test:
DrawWithTexCoordPtrThenDisableTexture2DAndDrawAnother
* Updated so after GL_TEXTURE_2D is enabled, we draw without updating
the vertex pointer to check that simply enabling textures is enough
to use the texture data.
Bug: b/310688730
Change-Id: I0d93bd6fae3d07ea86cf0e5e094ce7a29f2e5f1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5147197
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c51259ec
|
2023-12-14T15:58:56
|
|
Vulkan: Ignore tex coord at draw if tex disabled
In GLES1, it is possible to disable texture rendering in some cases.
It is done using glDisable(GL_TEXTURE_2D).
In that case, if TexCoordPointer has been enabled in the client state
prior to disabling the texture, its data should no longer be used,
especially if the primitive changes to use more vertices. In that case,
there is a risk of unauthorized memory access.
In this CL, the active vertex attributes are updated accordingly if
texture is disabled using the aforementioned API call.
* Updated GLES1 renderer to ignore TexCoordPointer if texture has been
disabled.
* Added GLES1 tests for tex coord pointer, including tests to make sure
that tex coord pointer is no longer used if the texture is disabled
using glDisable(), and that it is used again when texture is enabled
using glEnable().
* To ensure that tex coord pointer is not used, the test draws using
enough vertex data that would exceed the texcoord array size, which
can trigger segfault if accessed.
Bug: b/310688730
Change-Id: I5d259c83a172cc1a11733c0b42c2f9b02c9b2967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5124259
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
89e38b57
|
2022-06-22T15:04:08
|
|
Refactor to use ANGLETest vs ANGLETestWithParam
Bug: angleproject:6747
Change-Id: I72ad52d0268eae0e1a401f12f3e94cc5efa402f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3719002
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2b15062b
|
2021-02-11T12:52:39
|
|
Allow more formats as texture attachments in GLES 1
This change allows all formats in the GLES 1.1 spec, table 3.4
to be used as a texture attachment.
Also normalize values passed into glColorPointer if the format
is of type GL_UNSIGNED_BYTE.
These changes are needed for the android app, Kick the Buddy
to render correctly.
Bug: angleproject:5599
Tests: *DrawTextureTest.ColorArrayDifferentTypes*
*FramebufferObjectTest.TextureObjectDifferentFormats*
Change-Id: Ie9d27fc24d94106651262cf9b2080dd3f05af1c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690920
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1a01b4b3
|
2019-11-11T16:41:07
|
|
Refactor end2end test macros
This is a foundational CL to enabling the end2end tests on swiftshader.
Refactored infrastructure with new ANGLE_INSTANTIATE_TEST_ES*
macros that will run tests over all various combinations of all
platforms for different ES versions.
Just skipping failing tests initially to get the refactor landed.
Bug: angleproject:4081
Bug: angleproject:4092
Change-Id: I017f6c3267179e49b6ae08cc7488096b423dcdb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904635
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
27a8b32f
|
2019-08-23T10:06:03
|
|
Vulkan: Enable ES1_VULKAN testing in end2end tests.
Bug: angleproject:3408
Change-Id: I19b3c0f4795130638f43eabfe9c6f41ff85521fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771547
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
5cbaa3f8
|
2019-05-07T15:49:22
|
|
Don't inherit ANGLETest SetUp and TearDown.
Instead of inheriting from testing::Test's SetUp and TearDown we add
new methods 'testSetUp' and 'testTearDown'. This helps prevent a common
error of forgetting to call the base class method.
Also add a check in the ANGLETest destructor that SetUp and TearDown
have been called.
Bug: angleproject:3393
Change-Id: Iab211305cc06ffea9ca649e864ddc9b180f2cba0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593960
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@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>
|