|
5da6690f
|
2018-06-05T12:24:06
|
|
Hold RendererGL objects with a shared_ptr.
To support both virtualized and unvirtualized contexts, the RendererGL object
represents the native context. Update ContexGL and the various DisplayGLs to
hold RendererGL with a shared_ptr so that deletion of the renderer happens at
the correct time.
Update RendererGL to take ownership of FunctionsGL.
BUG=angleproject:2464
Change-Id: Id040a8053973d73936c0a7ff0ab5edb1a3f16dc6
Reviewed-on: https://chromium-review.googlesource.com/1085851
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
81970bc3
|
2018-06-06T11:11:56
|
|
Use ShaderMap in DynamicHLSL and StateManager11 - Part I
This patch is the first one of using ShaderMap in both DynamicHLSL and
StateManager11 to make the code cleaner and more straightforward.
BUG=angleproject:2169
Change-Id: I2b206d0250f5ced071cc1c3632367b16e5e02dfb
Reviewed-on: https://chromium-review.googlesource.com/1089473
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
|
|
e1a057e8
|
2018-06-07T15:09:00
|
|
Fully format some files.
Change-Id: Id6ea245849696d4c6d7eabc6860c0ac424dd8013
Reviewed-on: https://chromium-review.googlesource.com/1091309
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
74be296b
|
2018-06-07T09:13:38
|
|
GLES1: Texture environments setup
- Revise entry point definitions to use packed enums
BUG=angleproject:2306
Change-Id: I06ad95f475d1dbaf07ec24ff2544503c4a44e826
Reviewed-on: https://chromium-review.googlesource.com/1090996
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
f7af13c4
|
2018-06-06T14:14:54
|
|
Fix the divide by zero exception in BindBufferRange
This bug is caught because we haven't implemented
caps.shaderStorageBufferOffsetAlignment on D3D backend. So the default
value is 0. This change will set its value for D3D11 backend.
BUG=angleproject:2625
TEST=angle_deqp_gles31_tests
Change-Id: I03c045c08903e4da41659133e7dbd9c4133186cc
Reviewed-on: https://chromium-review.googlesource.com/1088192
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
096a6c8c
|
2018-02-27T23:48:21
|
|
ES31: copy to a texture with RGB9_E5 internalformat is invalid.
BUG=angleproject:2378
TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.copytexsubimage2d_texture_internalformat
Change-Id: I4ad0ec6636c0312a3ecfeb47df3297e4bf399c35
Reviewed-on: https://chromium-review.googlesource.com/938328
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
|
|
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>
|
|
fba1f61d
|
2018-06-04T14:37:17
|
|
Vulkan: No-op on ProgramVk::Validate implementation
Also enable the dEQP test that was blocked on that UNIMPLEMENTED call.
Bug: angleproject:2600
Change-Id: Iae1280d6e4f52c5b8e66c9f7fbaa9b2730c4eb0e
Reviewed-on: https://chromium-review.googlesource.com/1085693
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
e9465a61
|
2018-06-04T10:41:52
|
|
Vulkan: Fix wrong read ptr location when updating uniform block
Fixes these dEQP tests:
dEQP-GLES2.functional.state_query.shader.uniform_value_array
dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_*
dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_*
dEQP-GLES2.functional.shaders.struct.uniform.nested_struct_array*
dEQP-GLES2.functional.shaders.struct.uniform.loop_nested_struct_array*
dEQP-GLES2.functional.shaders.struct.uniform.dynamic_loop_nested_struct_array*
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_nested_structs_arrays.*
dEQP-GLES2.functional.uniform_api.value.assigned.basic_array_assign_partial.multiple_basic_array.*
dEQP-GLES2.functional.uniform_api.value.assigned.basic_array_assign_full.multiple_basic_array.*
dEQP-GLES2.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_basic_array.vertex
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.vertex
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.fragment
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.both
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic_array.*
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_nested_structs_arrays.*
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array.bool_*
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct.bool_*
dEQP-GLES2.functional.uniform_api.info_query.unused_uniforms.*
dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.vertex
dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.fragment
dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.both
dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic_array.*
dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_nested_structs_arrays.*
dEQP-GLES2.functional.uniform_api.value.initial.render.basic_struct.*
dEQP-GLES2.functional.uniform_api.value.initial.render.struct_in_array.*
dEQP-GLES2.functional.uniform_api.value.initial.render.array_in_struct.*
dEQP-GLES2.functional.uniform_api.value.initial.render.multiple_basic_array.*
dEQP-GLES2.functional.uniform_api.value.initial.render.multiple_nested_structs_arrays.*
dEQP-GLES2.functional.uniform_api.value.initial.render.nested_structs_arrays.*
dEQP-GLES2.functional.uniform_api.value.assigned.unused_uniforms*
Bug: angleproject:2586
Change-Id: I51f619832424131b7c1eeff9589259b14cf4f358
Reviewed-on: https://chromium-review.googlesource.com/1085369
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
16fdde13
|
2018-06-02T15:38:21
|
|
Move vertex data copy functions out of D3D.
Move the vertex buffer copying and conversion functions from the D3D back
end so the Vulkan back end can use them. No functional change.
BUG=angleproject:2405
Change-Id: If3c04a6c0dc37c78c1779d8b5d3cece263e8a031
Reviewed-on: https://chromium-review.googlesource.com/1083817
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
33f11fbc
|
2018-05-07T13:42:47
|
|
Initialize gl::Context state on the first call to MakeCurrent.
The constructor of gl::Context creates a bunch of zero and helper objects
but it is not current at this time. If the backend if not using virtualized
contexts this causes the created objects to be created on the wrong native
context.
BUG=angleproject:2464
Change-Id: I9718df87d0afeb08729920363d362d5f891061ed
Reviewed-on: https://chromium-review.googlesource.com/1048114
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c8fbff3d
|
2018-06-04T10:30:48
|
|
Vulkan: Update uniforms bugfix and enable dEQP tests with it
If a uniform was already marked as dirty, and the call to
setMatrixUniform wasn't updating the data, the flag was flipped
to false, causing the descriptor set never to be initialized.
This enables these tests:
dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.*
Bug: angleproject:2583
Change-Id: I0bcb95cc66951e0ed347af5d874178c403a1c08a
Reviewed-on: https://chromium-review.googlesource.com/1085228
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
48cdc2e8
|
2018-05-31T09:58:34
|
|
Vulkan: Implement setUniform for matrices correctly
This fixes all these tests:
dEQP-GLES2.functional.shaders.functions.datatypes.float_mat*
dEQP-GLES2.functional.shaders.functions.datatypes.mat*
dEQP-GLES2.functional.shaders.linkage.varying_type_mat*
dEQP-GLES2.functional.shaders.matrix.*
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.mat2_*
dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.mat3_*
dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.*
dEQP-GLES2.functional.shaders.conversions.matrix_combine.*
dEQP-GLES2.functional.shaders.random.scalar_conversion*
Bug:angleproject:2581
Bug:angleproject:2583
Bug:angleproject:2584
Bug:angleproject:2588
Change-Id: Ib8c03397f0229432292c51f4a6332f954fc8fa12
Reviewed-on: https://chromium-review.googlesource.com/1080392
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4fb8a8bd
|
2018-06-01T16:47:57
|
|
Move the EGL-based initial state to the gl::State constructor.
This is a small refactor to allow State::initialize to be called without
needing the EGL context creation attributes.
BUG=angleproject:2464
Change-Id: Ifa167cc83f652435ecc00a0a73e4c6c4a3295430
Reviewed-on: https://chromium-review.googlesource.com/1083312
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2f3f4141
|
2018-05-30T08:27:19
|
|
Vulkan: Fix texture completeness issues
The fix is to skip updates that are queued that are not valid for the
current image description. We keep these around in case they are used
in a later usage of the same texture but we issue a warning telling the
user that memory will be used indefinitely until they use that data.
Bug: angleproject:2596
Change-Id: I8c20fffbd473ae8e2e9d2123a49b675b824a9bf6
Reviewed-on: https://chromium-review.googlesource.com/1078913
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
6b600645
|
2018-05-31T14:53:31
|
|
D3D11: Micro-optimize StateManager11::updateState.
This inlines several accessors.
Bug: angleproject:2574
Change-Id: I61d223dd2a8f08e5331ccefde02e6ce55f5a607d
Reviewed-on: https://chromium-review.googlesource.com/1067118
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4166f014
|
2018-05-31T14:53:30
|
|
D3D11: Optimize Renderer11::drawArrays.
Uses inlining and more efficient computation re-use to streamline this
function.
Bug: angleproject:2575
Change-Id: Ib13e32811f56ec9a010ed66f298d4235e5c6807d
Reviewed-on: https://chromium-review.googlesource.com/1067120
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bf7b95db
|
2018-05-01T16:48:21
|
|
Create a default framebuffer per surface/context pair on MakeCurrent.
Sharing a gl::Framebuffer object between multiple contexts causes problems if
contexts are not virtualized because the native framebuffer objects are not
shared between these contexts. The FramebufferImpl created should be the glue
that binds a specific context to a specific surface.
Update the SurfaceImpl implementations to re-create the framebuffer
object before passing it to FramebufferGL. No backing resources will be
re-created.
BUG=angleproject:2464
Change-Id: Id0b13a221c22b71517b25cb5b1ef2392ad2ecdd6
Reviewed-on: https://chromium-review.googlesource.com/1039985
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
32749b94
|
2018-05-30T19:24:18
|
|
GLES1: Alpha test
- Update test expectations
BUG=angleproject:2306
Change-Id: Ib49900c7c4d6b808ebfab9483d42d3fd98644f9e
Reviewed-on: https://chromium-review.googlesource.com/1079991
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Corentin Wallez <cwallez@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>
|
|
6a455206
|
2018-05-31T14:20:36
|
|
Use IsCubeMapFaceTarget on texture targets
This patch introduces IsCubeMapFaceTarget() to determine if a
teture target belongs to cube map.
BUG=angleproject:2169
Change-Id: I3968ee267887665835f3eb3eda281c054e5d4375
Reviewed-on: https://chromium-review.googlesource.com/1080450
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>
|
|
46bcea50
|
2018-05-31T09:48:36
|
|
D3D,Vulkan: Prep work to share useful functions from D3D
- Refactor and move some functions used by D3D that are not really
renderer specific to be used by the Vulkan implementation to support
setting matx uniforms.
Bug: angleproject:2581
Change-Id: Ib37ddf4fc62bb8ecb3629893a24969e1f515795b
Reviewed-on: https://chromium-review.googlesource.com/1079845
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
77a2b4c3
|
2018-05-21T17:28:29
|
|
Validate the total invocations within a work group
If the total number of invocations within a work group is greater than
MAX_COMPUTE_WORK_GROUP_INVOCATIONS, a compile-time error will occur.
BUG=angleproject:2572
TEST=dEQP.GLES31/functional_debug_negative_coverage_callbacks_compute_invalid_maximum_work_group_sizes
dEQP.GLES31/functional_debug_negative_coverage_log_compute_invalid_maximum_work_group_sizes
dEQP.GLES31/functional_debug_negative_coverage_get_error_compute_invalid_maximum_work_group_sizes
Change-Id: I8218b618d1b347df2c85cfc67ba82ae91d756e05
Reviewed-on: https://chromium-review.googlesource.com/1066076
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
1da46774
|
2018-05-14T14:30:30
|
|
Add support for EGL_ANDROID_presentation_time.
BUG=angleproject:2506
Change-Id: I46b3c6ac7f259eabfdd8ea5799da6ef563ff81ee
Reviewed-on: https://chromium-review.googlesource.com/1057997
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
78ee3423
|
2018-05-30T11:34:19
|
|
Vulkan: varyings of type Matrix/Struct can't use components.
- This is not yet fixing all issues for these tests but it does
get us further in the execution of the test case.
Bug: angleproject:2581
Change-Id: I96510e013ccc87fd21bce6823e1278ed9ff60739
Reviewed-on: https://chromium-review.googlesource.com/1079267
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
2274b652
|
2018-05-31T10:56:08
|
|
StateManager11: Cache impl objects.
Also requires putting the Framebuffer ID in the shared state object.
Bug: angleproject:2575
Change-Id: I68e3af839a85798e01050560a67624a165d3ed2c
Reviewed-on: https://chromium-review.googlesource.com/1067119
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
683d65f8
|
2018-05-31T13:32:00
|
|
Fix a trivial parentheses compile warning
Unable to compile with gcc 7.2.0 ubuntu 17.10.
Bug: angleproject:2318
Change-Id: I91a5d73e56d308c7bda45778f5222884f3c202d0
Reviewed-on: https://chromium-review.googlesource.com/1079997
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
05cd6dfc
|
2018-05-24T15:51:29
|
|
Vulkan: generateMipmaps with vkCmdBlitImage when possible
Bug: angleproject:2502
Change-Id: Ib32a128a453749c59d751e996017a8a6e2a9972e
Reviewed-on: https://chromium-review.googlesource.com/1072550
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
86ce210a
|
2018-05-22T11:54:42
|
|
Vulkan: Clean up onResourceChanged.
Merge this with the internal method to generate a new command graph
node. Call onResourceChanged internally in beginWriteResource.
Bug: angleproject:2539
Change-Id: Ie33f886c5df7e15ff0b5d690a63fa664b1e964d4
Reviewed-on: https://chromium-review.googlesource.com/1069292
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
c57ee259
|
2018-05-30T19:53:48
|
|
Vulkan: Clean up object releasing APIs.
This cleans up the confusing releaseResource/releaseObject pair in the
RendererVk class. It also makes getQueueSerial private in ResourceVk
but keeps a public isResourceInUse API for external use.
Bug: angleproject:2539
Change-Id: I6b4f24db16e36130a85ef03fc2c3b26d8d9e1fba
Reviewed-on: https://chromium-review.googlesource.com/1069291
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
d014c9e6
|
2018-05-18T15:15:59
|
|
Vulkan: Mark some Resource APIs are protected.
This clarifies what is supposed to be called from outside the class to
what should be called internally. The read/write dependency management
is accessible publically. The command buffer access however is private
and should be only used within the class.
Bug: angleproject:2539
Change-Id: Ic25b589d4009de62633d13546be596ecafd0b175
Reviewed-on: https://chromium-review.googlesource.com/1066555
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
5dca651f
|
2018-05-30T10:53:51
|
|
Vulkan: Make Resource's updateSerial private.
This simplifies the API from the calling resource classes. This method
is called internally instead. beginWriteResource and
appendWriteResource both call updateSerial internally.
Additionally this removes hasStartedRenderPass and instead returns a
boolean from appendToStartedRenderPass indicating success.
Bug: angleproject:2539
Change-Id: Idcf72e6a80dde90e83dabc64644051bb536c6b12
Reviewed-on: https://chromium-review.googlesource.com/1066554
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
95fb2a17
|
2018-05-27T20:17:05
|
|
Add vertex formats and lookup function.
Add an angle::Format for each ES2 vertex data format. Add function
GetVertexFormatID() to get the angle::Format for a vertex attribute.
These will be used later to support vertex formats in Vulkan (by mapping
angle::Format to Vulkan format) and to eliminate the redundant enum
gl::VertexFormatType.
No functional change.
BUG=angleproject:2405
BUG=angleproject:2531
Change-Id: I871ae23ce9fba57d90c554376e84b03f8514f7fc
Reviewed-on: https://chromium-review.googlesource.com/1044874
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
c20b950e
|
2018-05-24T09:30:17
|
|
Vulkan: Fix clear of specific mip level was clearing all mip levels
Bug: angleproject:2502
Change-Id: Iffa012dce14584318c4dfd3d9b3a304291c9cebf
Reviewed-on: https://chromium-review.googlesource.com/1070666
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
574a6f25
|
2018-05-28T10:21:18
|
|
Vulkan: Fix edge case in DynamicBuffer causing wrong allocations
- on a very specific scenario when the next buffer to allocate was
fitting exactly in the allocated size. The condition was wrong and
needed to be >= instead of >.
Bug: angleproject:2562
Change-Id: Ide36bc3baadafdc1ffa40416b46998dc455caecf
Reviewed-on: https://chromium-review.googlesource.com/1075293
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
22695bf5
|
2018-05-22T15:52:08
|
|
Vulkan: Support cube mimaps generation
Bug: angleproject:2502
Change-Id: I953d99d04608cec04aad824b8b38f388ed1e4c2b
Reviewed-on: https://chromium-review.googlesource.com/1069544
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c5181706
|
2018-05-17T09:44:42
|
|
Vulkan: generateMipmaps for 2D textures
- This implements cpu-only mipmaps generation.
To do in the next CLs:
- Cube textures support
- GPU faster path with vkCmdBlitImage
- Find the bug with clearing of level 0 mips.
- Investigate the intel linux specific bug.
Bug: angleproject:2502
Change-Id: Iecd73cb45ebc9c79ce6291c4529eb27330b51e2c
Reviewed-on: https://chromium-review.googlesource.com/1064194
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
8c361c7f
|
2018-05-18T14:36:06
|
|
Vulkan: Remove one API from CommandGraphResource.
'checkResourceInUseAndRefreshDeps' can be implemented using other
APIs. This simplifies the API surface in CommandGraphResource.
Bug: angleproject:2539
Change-Id: I55350ab352c50961736327a867e8403d3b38506b
Reviewed-on: https://chromium-review.googlesource.com/1052070
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
a5e06071
|
2018-05-18T14:36:05
|
|
Vulkan: Move the CommandGraphNode class to the cpp.
This totally hides the details of the CommandGraphNode implementation
from the rest of the back-end. This continues the simplification of
the graph/resource APIs.
Refactoring change only.
Bug: angleproject:2539
Change-Id: I7e0f286c387599624cfdff6c8972a8e082fe05d3
Reviewed-on: https://chromium-review.googlesource.com/1052069
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
b4a3f65f
|
2018-05-28T21:18:55
|
|
Fix nativegl::InsertFormatMapping
Bug: angleproject:2567
Change-Id: I0f01499855213ef8d4bb772698ad4386e6317d2f
Reviewed-on: https://chromium-review.googlesource.com/1075847
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
387b3b36
|
2018-05-28T10:11:57
|
|
Vulkan: Fix a line loop edge case causing validation errors
Bug: angleproject:2563
Change-Id: I6e908fbd3e5725dc3f355f8b0561f2177b61dff6
Reviewed-on: https://chromium-review.googlesource.com/1075291
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
316c6065
|
2018-05-29T10:49:45
|
|
Vulkan: Call GraphResource instead of GraphNode.
We don't need to use the CommandGraphNode class directly. This CL
consolidates our code so we never call the GraphNodes class directly.
Instead we call operations on GraphResource. This should simplify the
interaction with APIs from the various graph and dependency management
classes in the Vulkan back-end.
A new concept of 'starting' vs 'appending' commands is introduced.
Appending tries to avoid starting new command buffers when possible.
Should not change how the graphs are constructed, and mostly be a
refactoring change. There may be minor behaviour changes to some
commands.
Bug: angleproject:2539
Change-Id: Ia971e5cacb1164b9b3b22fa4a0a55b954d81f10e
Reviewed-on: https://chromium-review.googlesource.com/1052068
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
b26ab825
|
2018-05-29T11:19:00
|
|
Return a program binary size of 0 when the program is not linked.
From the GLES3 spec:
"... When a program object's LINK_STATUS is FALSE, its program binary
length is zero ..."
Querying the size was generating errors in the GL backend.
BUG=angleproject:2569
Change-Id: I1be511040331abaec2bba98502d8aa88fb4bd19c
Reviewed-on: https://chromium-review.googlesource.com/1076317
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c2014bce
|
2018-05-28T16:09:04
|
|
Expose eglCreatePlatformWindowSurfaceEXT and eglCreatePlatformPixmapSurfaceEXT
These entry points are part of EGL_EXT_platform_base but were never returned by
eglGetProcAddress.
BUG=angleproject:2603
Change-Id: I4782df67fa8625a9af29a18df02af7b5fa73d75e
Reviewed-on: https://chromium-review.googlesource.com/1075469
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3f1eba94
|
2018-05-10T15:53:22
|
|
Support EGL_KHR_swap_buffers_with_damage in the EGL backend.
Update the EXT extension to KHR in ANGLE.
BUG=angleproject:2544
Change-Id: Ia647191c3e762d658b0f7e28a34a9ce2cc545f48
Reviewed-on: https://chromium-review.googlesource.com/1054415
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
bcf467f2
|
2018-05-23T09:46:00
|
|
Vulkan: Encapsulate RenderTargetVk.
This makes the members private and adds more functionality. This moves
more responsibility out of vk::CommandGraphNode and also makes the
RenderPass init in the CommandGraphNode class better encapsulated.
Bug: angleproject:2539
Change-Id: Ia16f3f39cf011548c6473805b8b28e284808e856
Reviewed-on: https://chromium-review.googlesource.com/1040279
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1478afaf
|
2018-05-17T10:43:34
|
|
GLES1: Lighting and materials (renderer)
- Update test expectations
- Add gles1 sample app that shows simple lighting.
BUG=angleproject:2306
Change-Id: I545dcf860374abd9d628b0d554153cb634098f6d
Reviewed-on: https://chromium-review.googlesource.com/1065501
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Corentin Wallez <cwallez@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>
|
|
d0a7d10f
|
2018-05-07T12:40:20
|
|
ES3.1: Set unordered access view related resource limits on D3D11
This patch sets the implementation-dependent resources limits related
to unordered access views (images, shader storage blocks, atomic
counter buffers and fragment shader outputs) on D3D11 back-ends.
For pixel shaders, the render targets and unordered access views share
the same resource slots when being written out, so we plan to allocate
these slots as follows:
- As there are 8 slots for UAVs and RTVs in feature level 11_0, currently
we assign 1 slot for atomic counter buffer and 7 slots that are shared
among images, shader storage blocks and fragment shader outputs.
- As there are 64 slots for UAVs and RTVs in feature level 11_1, currently
we assign 4 slots for atomic counter buffers and 60 slots that are
shared among images, shader storage blocks and fragment shader
outputs.
We also limit the maximum number of draw buffers to 7 if we create ES 3.1
context on D3D11 feature level is 11_0 because the value of combined shader
output resources is 7.
This patch also labels several dEQP cases from "FAIL" to "SKIP" because
since the resource limits on ssbos, atomic counter buffers and images
in rendering pipeline are set in D3D11 back-ends, the GLSL programs in
these cases can pass all the related link checks, thus these cases will
crash due to reaching the unimplemented parts when they are running on
ANGLE D3D11 back-ends.
BUG=angleproject:2345
TEST=dEQP-GLES31.functional.state_query.integer.max_compute_atomic_counter_buffers_*
dEQP-GLES31.functional.state_query.integer.max_compute_shader_storage_blocks_*
dEQP-GLES31.functional.state_query.integer.max_atomic_counter_buffer_bindings_*
dEQP-GLES31.functional.state_query.integer.max_combined_atomic_counter_buffers_*
dEQP-GLES31.functional.state_query.integer.max_image_units_*
dEQP-GLES31.functional.state_query.integer.max_combined_image_uniforms_*
dEQP-GLES31.functional.state_query.integer.max_shader_storage_buffer_bindings_*
dEQP-GLES31.functional.state_query.integer.max_combined_shader_storage_blocks_*
dEQP-GLES31.functional.state_query.integer.max_combined_shader_output_resources_*
Change-Id: I56a4e6c60d4f6f5bd6f238ae8ce425fb5072a4a3
Reviewed-on: https://chromium-review.googlesource.com/1046372
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
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>
|
|
04796cda
|
2018-05-24T19:52:16
|
|
Remove gl::PrimitiveType.
This replaces the usages with gl::PrimitiveMode. Also replaces
the ProgramD3D Geometry Shader executable storage with a
PackedEnumMap.
Bug: angleproject:2574
Change-Id: I476dd2ba92d6267b9ea2bb9a37ee15fb6a91e627
Reviewed-on: https://chromium-review.googlesource.com/1067115
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
493f9571
|
2018-05-24T19:52:15
|
|
Add PrimitiveMode packed GLenum.
Bug: angleproject:2574
Change-Id: I3d7bd7ca0d69a364a611dc04799ea34906fc4a6c
Reviewed-on: https://chromium-review.googlesource.com/1067114
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
c22f5134
|
2018-05-24T19:02:04
|
|
D3D9: Fix incorrect parameter to setBlendDepthRasterStates.
We were passing an unsigned int mask instead of a GLenum drawMode. This
was caught by converting draw modes to internal packed enums.
Bug: angleproject:2574
Change-Id: I4b063590aa60381b5ffa5eba0479a86d10b439c6
Reviewed-on: https://chromium-review.googlesource.com/1067112
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
d4703d50
|
2018-05-24T17:31:43
|
|
Move packed enum code to common/
This makes it accessible in the utilities files.
Bug: angleproject:2574
Bug: angleproject:2169
Change-Id: I0fdd34b4233e72b7534cb2b09f451539c1a394cd
Reviewed-on: https://chromium-review.googlesource.com/1067110
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
1c597eea
|
2018-05-24T14:19:31
|
|
Fix run_code_generation for huge diffs.
This uses the --full argument to work around max path limitations
on Windows. Also includes a couple minor changes for generators
to generate already-formatted code.
Bug: angleproject:2578
Change-Id: I1e400b02e828bfdca21cacb73c649f41226bef55
Reviewed-on: https://chromium-review.googlesource.com/1072161
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Brandon1 Jones <brandon1.jones@intel.com>
Commit-Queue: Jamie Madill <jmadill@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>
|
|
2b0cdcc1
|
2018-05-02T08:02:50
|
|
Implement EGL_ANGLE_explicit_context
Implementation of EGL_ANGLE_explicit_context. Includes new libGLESv2 entry
points and exports, libANGLE entry points, extension declarations for
eglGetProcAddress, and unit tests. Autogeneration scripts have been
modified to produce entry points, exports, eglGetProcAddress function
table, extension function pointers, and function declarations.
Bug:angleproject:1395
Change-Id: I1b79c6069bbed05beb4700a32139a64ddc465c4c
Reviewed-on: https://chromium-review.googlesource.com/1039865
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
390900a0
|
2018-05-18T09:44:59
|
|
Add support for EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE
To support ANGLE for Android need a way to tell ANGLE
what library to call when using GL backend.
Bug: angleproject:2418
Test: test-opengl-gl2_copyTexImage
Change-Id: Ie00251b0672a036db4720e1e5b269f66a30a03da
Reviewed-on: https://chromium-review.googlesource.com/1066822
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c1651618
|
2018-05-23T11:34:11
|
|
Don't double-terminate a display.
Some dEQP tests call eglTerminate twice on the same display and cause crashes.
BUG=angleproject:2546
Change-Id: I3118e07aec19a28ad2b76fc2705be5b0bea37857
Reviewed-on: https://chromium-review.googlesource.com/1066467
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
22a5f5f0
|
2018-05-23T11:33:01
|
|
Make sure to destroy all resources in DisplayWGL if initialization fails.
It was possible to leak some resources if initialization fails half way
through.
BUG=angleproject:2546
Change-Id: I0ea75a274fed27b118e788785bb72aff5fe8381e
Reviewed-on: https://chromium-review.googlesource.com/1070221
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b0e9ddb5
|
2018-05-23T11:30:04
|
|
Refactor a hex streaming into a generic FmtHex function.
The length of the printed value can be determined from size of the type.
BUG=angleproject:2546
Change-Id: I39a4f9550f381dd82183f50019b3f7d117c52472
Reviewed-on: https://chromium-review.googlesource.com/1070220
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
58675016
|
2018-05-22T14:54:07
|
|
Vulkan: Refactor CopyTexImage to use readPixelsImpl.
It turns out it won't be easy to just use the RenderTargetVk and
CommandBuffer with the Command Graph refactor. Better to use the
FramebufferVk directly.
Also cleans up a few incidental style issues.
Bug: angleproject:2539
Change-Id: I73c2767072a84e9e5042361c7bdf4e9aef0f8ac7
Reviewed-on: https://chromium-review.googlesource.com/1066471
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
be7f44fb
|
2018-05-21T14:35:32
|
|
Vulkan: Use push constant for masked clear color
Storing the color in an uniform buffer, and updating it by
vkCmdUpdateBuffer can hit a driver bug. Using vkCmdPushConstants
instead can workaround this bug. Besides, push constant is expected
to outperform memory-backed resource update according to the vkspec
(section 13.2.6).
Bug: angleproject:2547
Change-Id: I319cd8e07e0a1d0cb56005b78a46466d9fca436e
Reviewed-on: https://chromium-review.googlesource.com/1067247
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Luc Ferron <lucferron@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>
|
|
31d3deb4
|
2018-05-18T18:32:16
|
|
Add `formatType` arg to computeSkipBytes.
Fix texture upload format tests:
- Format tests should definitely run on ES3 also.
- Also set filters to NEAREST since some formats aren't filterable.
- Fix RGB9_E5 test reference encoding and add a test for it.
- True int/uint textures require i/usamplers.
Bug: angleproject:2576
Change-Id: Ia5bac34cdee6554a88db339de443689a71a0cf70
Reviewed-on: https://chromium-review.googlesource.com/1068142
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
64ac5d9e
|
2018-05-22T10:39:47
|
|
Vulkan: Quick rename of member variable in DynamicBuffer
The new name mNxtAllocationOffset instead of mNextWriteOffset makes more sense.
Also merged the 2 offset tracking vars since the user of DynamicBuffer
should know to flush or invalidate correctly.
Bug: angleproject:2480
Change-Id: If7a04b633794484ad88e73fd6f802fcfe0e3705a
Reviewed-on: https://chromium-review.googlesource.com/1069107
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
671be629
|
2018-05-18T15:01:46
|
|
Make sure the DisplayImpl is terminated if it fails to fully initialize.
It is possible that if device creation fails that the display would be left in
a state where rx::DisplayImpl is initialized and egl::Display is not.
BUG=angleproject:2546
Change-Id: I609e4c40f37945322d64786d4f6e97f361764b62
Reviewed-on: https://chromium-review.googlesource.com/1066501
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
534b00db
|
2018-05-18T08:16:53
|
|
Vulkan: readPixels improvement - use DynamicBuffer
Reintroduce the change that was previously reverted here:
https://chromium-review.googlesource.com/c/angle/angle/+/1064770
This includes a tentative fix the issue on Android that prompted the revert,
we need to call invalidate on the mapped memory range before we read it on
the host side.
Bug: angleproject:2480
Change-Id: Id637bafa2845628ae38483c6fc8e6d7f26ad2d3e
Reviewed-on: https://chromium-review.googlesource.com/1066229
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
78b7f3a8
|
2018-05-18T01:42:34
|
|
GLES1: New packed enums for materials and lighting
BUG=angleproject:2306
Change-Id: Icd1f830b666d75b30455dd4cbc2183cd431b97cc
Reviewed-on: https://chromium-review.googlesource.com/1065792
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a9ab0f37
|
2018-05-17T17:03:55
|
|
Vulkan: Fix DynamicBuffer usages, need to use specific alignment
The alignment used to allocate VkBuffers in the VkBuffer needs to be at
least the size of the nonCoherentAtomSize defined in the limits of the
VkDevicePhysicalProperties. The latest roll of the
vulkan-validation-layers added that check and caused a bunch of errors.
This is fixing them.
Bug: angleproject:2565
Change-Id: Ia2ad506dce7966adb6220c52ea891903922c47d0
Reviewed-on: https://chromium-review.googlesource.com/1064950
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dcda0e50
|
2018-05-10T12:50:43
|
|
Don't make redundant calls to Display::makeCurrent.
Refactor ValidateMakeCurrent to pass egl object pointers instead of handles.
BUG=angleproject:2464
Change-Id: I98859f56d238a38bd6755f00dce7344635690491
Reviewed-on: https://chromium-review.googlesource.com/1053877
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
dd565786
|
2018-05-18T11:39:49
|
|
Revert "Vulkan: readPixels improvement - use DynamicBuffer"
The tentative fix did not fix the issue on Android Nexus 5x.
This reverts commit 8688bf46f1835dbe7fff4480350b1bc0ef02ff78.
NOTRY=true
Change-Id: If4a517028951a2232a87aeaf1045a5df731d17d3
Reviewed-on: https://chromium-review.googlesource.com/1065578
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
8688bf46
|
2018-05-18T08:16:53
|
|
Vulkan: readPixels improvement - use DynamicBuffer
Reintroduce the change that was previously reverted here:
https://chromium-review.googlesource.com/c/angle/angle/+/1064770
This includes a tentative fix the issue on Android that prompted the revert.
Bug: angleproject:2480
Change-Id: I04be55d9dead00500adaa5f56458cb93957f2535
Reviewed-on: https://chromium-review.googlesource.com/1065799
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6c6c76c0
|
2018-05-17T18:45:06
|
|
Revert "Vulkan: readPixels improvement - use DynamicBuffer"
This reverts commit 82a420bb9af221e659b9510aed6791a87ac97b25.
Reason for revert: breaks readPixels on Android, probably because memory there is not host coherent by default.
Original change's description:
> Vulkan: readPixels improvement - use DynamicBuffer
>
> - Instead of using a new Staging image everytime, we now
> just use a DynamicBuffer that should be bit less wasteful.
>
> Bug: angleproject:2480
>
> Change-Id: I09edfb16f6ec49a0ca320d9e5dd9ce34e9dbf99e
> Reviewed-on: https://chromium-review.googlesource.com/1059452
> Commit-Queue: Luc Ferron <lucferron@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,lucferron@chromium.org
Change-Id: Id7c493915ec7131f5202a7224267a79cd53007d2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2480
Reviewed-on: https://chromium-review.googlesource.com/1064770
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
82a420bb
|
2018-05-15T12:55:21
|
|
Vulkan: readPixels improvement - use DynamicBuffer
- Instead of using a new Staging image everytime, we now
just use a DynamicBuffer that should be bit less wasteful.
Bug: angleproject:2480
Change-Id: I09edfb16f6ec49a0ca320d9e5dd9ce34e9dbf99e
Reviewed-on: https://chromium-review.googlesource.com/1059452
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0e1c158e
|
2018-05-16T14:47:30
|
|
Log error of RegisterClassA in DisplayWGL::initialize
Bug: angleproject:2561
Change-Id: I45de82466401e88bfacc2342e401adef69d07472
Reviewed-on: https://chromium-review.googlesource.com/1062192
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ef80f835
|
2018-05-16T20:42:04
|
|
Revert "Don't double-terminate a display."
This reverts commit 10e7e5013c41cdca8d6ab0ed4bc9bb3dedb537e7.
Reason for revert: Possible reason for anglebug.com/2561
Original change's description:
> Don't double-terminate a display.
>
> Some dEQP tests call eglTerminate twice on the same display and cause crashes.
>
> BUG=angleproject:2546
>
> Change-Id: I8a13d00fd03692b3b24dee4813c245d83ea00862
> Reviewed-on: https://chromium-review.googlesource.com/1060335
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org
Change-Id: Iab32ed96443eab406afa65642f9a66f68dc8ebcd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2546, angleproject:2561
Reviewed-on: https://chromium-review.googlesource.com/1062728
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f299a378
|
2018-05-14T14:44:54
|
|
Vulkan: Implement copyImage and enable all tests for it
Bug: angleproject:2500
Change-Id: I9066861ed4db0330754b32995ed82c658d66a590
Reviewed-on: https://chromium-review.googlesource.com/1058034
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
daf7ace5
|
2018-05-14T13:44:15
|
|
Vulkan: Finish implementation of the copySubImage
- Enables all dEQP tests left for copySubImage.
Bug: angleproject:2501
Change-Id: I8ae301a94e9039f24e0a20b8fd4afdf7e65659f7
Reviewed-on: https://chromium-review.googlesource.com/1057904
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a1c72423
|
2018-05-14T15:58:28
|
|
Vulkan: Implement PACK_STATE dirty bit and remove warning
- also enables all dEQP tests for functional.read_pixels.*
Bug: angleproject:2480
Change-Id: Ib7bcd6b046ff8b0ecf110e70f735036bedf17902
Reviewed-on: https://chromium-review.googlesource.com/1058149
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
018709fd
|
2018-05-10T13:53:11
|
|
Vulkan: Basic support of copySubImage
- Implement basic path that does a cpu readback for everything and
establish conformance for every case except the ones that need
conversion.
- Enables most copy sub image dEQP tests.
Bug: angleproject:2501
Change-Id: Ib67c184894625dde850f320c40fe51fe70ba974f
Reviewed-on: https://chromium-review.googlesource.com/1054387
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
10e7e501
|
2018-05-15T16:08:05
|
|
Don't double-terminate a display.
Some dEQP tests call eglTerminate twice on the same display and cause crashes.
BUG=angleproject:2546
Change-Id: I8a13d00fd03692b3b24dee4813c245d83ea00862
Reviewed-on: https://chromium-review.googlesource.com/1060335
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2a849bf3
|
2018-05-10T13:19:11
|
|
Vulkan: Pre-work for copyImage/copySubImage features
- Add vkCmdCopyImageToBuffer support in CommandBuffer
- Add a new function in the PixelBuffer to support staging changes
coming from an image.
Bug: angleproject:2500
Bug: angleproject:2501
Change-Id: Ic29101391edc6f25a71dcd318bc8a72b2ae1a054
Reviewed-on: https://chromium-review.googlesource.com/1054104
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f345cdf3
|
2018-05-14T15:29:42
|
|
DisplayGLX: Close the X display if we own it.
BUG=chromium:834269
Change-Id: Ia49f80f4c057ad467428a13e8cd4ca54ad48d5c4
Reviewed-on: https://chromium-review.googlesource.com/1058084
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
78cd9405
|
2018-05-10T16:49:58
|
|
Vulkan: Implement masked color clear with depth.
This fixes an edge case when the app clears both color and depth at the
same time when a color mask is set. It also handles stencil clear, but
does not handle stencil masks.
Includes test suppressions for a few platforms that may have driver
bugs.
Bug: angleproject:2455
Bug: angleproject:2547
Bug: angleproject:2548
Change-Id: I5ac0a461a075328e5fc4e5e262c4d21f68f93434
Reviewed-on: https://chromium-review.googlesource.com/1052072
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b878f00d
|
2018-05-14T09:45:29
|
|
Fix warnings from size_t conversions.
These casts could result in overflow.
Bug: chromium:842028
Change-Id: I998b638c58333a29f6bc9136ae3e81b90683cb72
Reviewed-on: https://chromium-review.googlesource.com/1057415
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@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>
|
|
5d2ccc53
|
2018-05-14T15:04:27
|
|
Use DefWindowProcA for window created with CreateWindowExA
Bug: chromium:842408
Change-Id: I8793e3bb9ed4661e49eceb55c7253d7ada06488a
Reviewed-on: https://chromium-review.googlesource.com/1057231
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
18e323ab
|
2018-05-11T16:54:17
|
|
D3D11: Fix out-of-range access with robust access.
When using a vertex buffer with DYNAMIC usage, with robust buffer
access enabled, we would sometimes read out-of-bounds when using very
large values for the index range. An unchecked signed addition would
overflow and lead to reading a negative offset.
Fix this problem by keeping the value size_t whenever possible. Also do
clamped casts when converting to a smaller values.
Also adds a regression test.
Bug: chromium:842028
Change-Id: Ie630ac857c6acfc0bace849a03eebfbaa2fbe89a
Reviewed-on: https://chromium-review.googlesource.com/1055928
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
422f2ce2
|
2018-05-10T13:54:54
|
|
GL: Refactor ShaderGL to not hold renderer objects.
BUG=angleproject:2464
Change-Id: I243c010e30d62e233411b1dab1d13a69b44e4b38
Reviewed-on: https://chromium-review.googlesource.com/1054214
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@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>
|
|
90968360
|
2018-05-04T08:47:22
|
|
Vulkan: Incomplete textures support
2D multisample is out of scope since its ES 3 only.
Bug: angleproject:2499
Change-Id: Id5f81d713a2882ba2a91b7d3f281d71a3e9289f4
Reviewed-on: https://chromium-review.googlesource.com/1046786
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
58662082
|
2018-05-10T13:41:51
|
|
Pass a gl::Context to ShaderImpl methods.
Also add a destroy method.
BUG=angleproject:2464
Change-Id: I7346b799af4e7d64ed5cc3d5eca8e108ce2cf699
Reviewed-on: https://chromium-review.googlesource.com/1054213
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2cb7f974
|
2018-05-07T13:49:13
|
|
GL: Refactor TextureGL to not hold renderer objects.
BUG=angleproject:2464
Change-Id: I24b07557d90988369bc8b7e4b2fe3a500ab7bc36
Reviewed-on: https://chromium-review.googlesource.com/1048115
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2fc0806f
|
2018-05-10T15:10:55
|
|
Micro-optimize uniform updates.
This CL is adapted from work by matavenrath@nvidia.com. It does the
following small optimizations:
* inlines a bunch of accessors.
* reorders checks to hit the cache more often
Also some small style updates.
Bug: angleproject:1671
Change-Id: I8f21318e6644dcfe1f99c98f7f377742fcad78d3
Reviewed-on: https://chromium-review.googlesource.com/1054367
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|