History log of /external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3b4a25c5365486981157f8ba9a2aee539c162a0d 23-Feb-2018 Nicolas Capens <capn@google.com> Fix texture upload and internalformat handling.

We weren't handling several of the format/type/internalformat combos
from table 3.2 of the OpenGL ES 3.0.5 spec. In particular those where
the format/type of a glTexSubImage2D() call can be used to update
images with an internal format not directly corresponding to it. Some
of these cases were handled using the blitter, but not all GL formats
have a SwiftShader equivalent. Also, the blitter is slower than
specialized C++ pixel transfer code, and the blitter's fallback path is
even slower.

This patch provides specialized pixel rectangle transfer code for each
combination of formats. We also now only store the effective sized
internal format of the images. Validation also happens using the sized
internal format wherever feasible, instead of unsized formats or
SwiftShader formats.

Change-Id: Id55db490002ab8fc2f16f766c43b43f121e5768e
Reviewed-on: https://swiftshader-review.googlesource.com/17429
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
10c74a62ed7bcde6e4f48445bd43e2f8707c30d6 29-Nov-2017 Alexis Hetu <sugoi@google.com> Allow out of bounds coordinates in glBlitFramebuffer

Device::stretchRect() now supports out of bounds coordinates.
To avoid linear interpolation errors, source coordinates now
have to be in floating point rather than integer format. Most
changes in this cl are just to accommodate that int->float
change for the source rect.

Fixes all (28) failures in:
dEQP-GLES3.functional.fbo.blit.rect

Change-Id: I8fd017e60b61f2d7d6517b0e648b324be441cddd
Reviewed-on: https://swiftshader-review.googlesource.com/14648
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
426cb5e11112c9a9c3a7f145474a29e5e81463ca 20-Jul-2017 Nicolas Capens <capn@google.com> Fix clearing all samples of multisample render targets.

Only libGLESv2 was clearing all the samples of a multisample buffer.
Since all known APIs always clear all the samples, this could be
handled in the Renderer.

Bug swiftshader:77

Change-Id: Ib9adc3c61d263420ed0a0ae4828a693bd360b076
Reviewed-on: https://swiftshader-review.googlesource.com/10788
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
f41f0332bfb9dfbf09253bbf10f3b46e820a4f8e 30-May-2017 Nicolas Capens <capn@google.com> Avoid dummy key methods by using pure abstract classes.

Sanitizer tools desire having the vtables of any class with non-pure
virtual methods, even when none of them are called in the current
linkage unit. Work around this by making the affected classes pure
abstract and implementing them in a derived class in the respective
library responsible for creating them.

Bug swiftshader:31

Change-Id: I40046f605731eb1cc3825c1ede2d8d9b5826d0f5
Reviewed-on: https://swiftshader-review.googlesource.com/9914
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
b7d5924b1c7641a0e30401b3b799a2355130ea90 03-Jan-2017 Nicolas Capens <capn@google.com> Update Subzero LLVM dependencies to 759dd39154f0bbf1adc87bf613c95f9564f64aa8

Change-Id: I03c5ebf799af288558d08190058d03f1ac2922b7
Reviewed-on: https://swiftshader-review.googlesource.com/8355
Reviewed-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
a52dfbdae4b91f970793a0e3b1df6f210e3e1312 05-Oct-2016 Alexis Hetu <sugoi@google.com> Adding functionality to stencils

Two minor features are required for the blitFramebuffer
implementation in OpenGL ES 3:
- lockStencil with x,y coordinates
- getting the stencil format (new getStencilFormat function)

Change-Id: I83ccccefe70dbbedd05b5d82bc75d30f689c4abe
Reviewed-on: https://swiftshader-review.googlesource.com/7490
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
81519cfcdbc76c5969cd1d132fd1ca627848013f 08-Sep-2016 Alexis Hetu <sugoi@google.com> Fixed alignment warnings

Some alignment warnings were popping up on some windows bots.
Rather than silencing them, I just fixed them.

Change-Id: I21bc558e04498357c5d76a9caf9bd86f0a5cb540
Reviewed-on: https://swiftshader-review.googlesource.com/7131
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
0bac285a78df6a6d7a6b68784748b92805420ffb 07-May-2016 Nicolas Capens <capn@google.com> Apply the Apache 2.0 license.

Change-Id: I4a7aeefedcd2d891093520d5a10ebefadcddb5be
Reviewed-on: https://swiftshader-review.googlesource.com/5320
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
c39901ecf661bfef98d5c5ae9ff45e6c8dd5577e 21-Mar-2016 Nicolas Capens <capn@google.com> Refactor buffer clearing.

Bug 27460431

Change-Id: I90de3285c86c0d3187969270dcbd78a8b02feee9
Reviewed-on: https://swiftshader-review.googlesource.com/4978
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
7155963e9a21d7f9e97bd8c49bd8f590e2695883 21-Mar-2016 Nicolas Capens <capn@google.com> Bind depth and stencil buffers separately.

Bug 27460431

Change-Id: Ice854b6faec09dc5f2cbdc2a5c3ffba9a73bfb70
Reviewed-on: https://swiftshader-review.googlesource.com/4977
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
3751c1edd9349a5923a5427b745a5e9b5addf8d3 21-Mar-2016 Nicolas Capens <capn@google.com> Support separate depth and stencil buffers.

Bug 27460431

Change-Id: If11e16597b3fdfbfa6f1f2282e287b302b541f63
Reviewed-on: https://swiftshader-review.googlesource.com/4976
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
50bba30913f4089fbc99b07bcd479688ee7bc881 07-Feb-2016 Nicolas Capens <capn@google.com> Refactor Image creation.

Customize construction for each use case.

Bug 26851951

Change-Id: Ic10166bbfeaf11e800fec2a6470446b76e49b825
Reviewed-on: https://swiftshader-review.googlesource.com/4710
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
895aa62153c41552689e7f8cb4cb4e7ad686ba37 03-Jan-2016 Nicolas Capens <capn@google.com> Eliminate intermediate primitive type translation.

Bug 21305111

Change-Id: I3803f274f25a25ec60f0f5cbfc4af0151f39ad04
Reviewed-on: https://swiftshader-review.googlesource.com/4505
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
75b650f0e501750ae0ba66a435741731905dffc1 19-Nov-2015 Alexis Hetu <sugoi@google.com> Blitter clear implementation

The "clear" operation can now be done through the blitter.
The few changes are:
- The blitter now supports RGBA masking
- The blitter now supports RGB565
- When in "clear" mode, the blitter does a one read/multiple writes

The old clearing code has been deleted from Surface.

Change-Id: I970c3a0323f63ee5c89f02d94a2705e4bcf83866
Reviewed-on: https://swiftshader-review.googlesource.com/4291
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
1edcd8b626129ac8297cda0a297034d8dfeb5061 05-Nov-2015 Alexis Hetu <sugoi@google.com> Multiple draw buffers implementation

Implemented the missing pieces for multiple draw buffers support:
- Fixed Context::getScissoredImage() to use the drawbuffer
parameter properly
- Enabled setting multiple render targets
- Added dynamic indexing of gl_FragData using a new dynOut flag
to figure out which channels are being written to.

Change-Id: Id3d95c46a980a698f71e99f7781cc6287e880e9d
Reviewed-on: https://swiftshader-review.googlesource.com/4220
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
667472623f1f8a9d48c8a45c47b11c6ef537b07d 22-Sep-2015 Nicolas Capens <capn@google.com> Improve color clear precision.

Change-Id: Ib9dadf3d8fee0f63deb10e6754856c0530c928ab
Reviewed-on: https://swiftshader-review.googlesource.com/3995
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
a7ff3a487b3cc0844d8606761eeb546f4a35d242 28-Aug-2015 Nicolas Capens <capn@google.com> Allow 0x0 dimension default framebuffers.

Bug 23041739

Change-Id: I1bec1fa05e8cf81864f8c0c2f49cf9c8093de5e0
Reviewed-on: https://swiftshader-review.googlesource.com/3934
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
f77786ef310c064636790d72f404b54888648a19 25-Aug-2015 Nicolas Capens <capn@google.com> Log parameters of invalid surface creation.

Change-Id: I8be27042263ae80da3e01dce6c84dcf43645a232
Reviewed-on: https://swiftshader-review.googlesource.com/3911
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
44ffb65ecb2638a3062a13d2fc3beb23a534b40d 04-Aug-2015 Nicolas Capens <capn@google.com> Implement OpenGL single-color specular lighting.

Change-Id: I40f9ad720bdbd93c44be8fb991dfbf055a3eceba
Reviewed-on: https://swiftshader-review.googlesource.com/3803
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
2afcc8000a5727b6a278bdbaeb4517784f73c523 04-Aug-2015 Nicolas Capens <capn@google.com> Implement missing state and queries.

Change-Id: I4858980fc32df435ffc0fc0917905116bea54aa8
Reviewed-on: https://swiftshader-review.googlesource.com/3790
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
d9762743d768d943003a980005b8c689d94d7cc9 08-Jul-2015 Maxime Grégoire <mgregoire@google.com> Implementation of glLogicOp

Bug 22375329

Change-Id: Id6684e33bf3cd37fce48e7607e6a65fe64309f72
Reviewed-on: https://swiftshader-review.googlesource.com/2764
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Maxime Grégoire <mgregoire@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
3713cd4b12696bcabaabe98562320e8fa1796b33 22-Jun-2015 Nicolas Capens <capn@google.com> Log the switch value when reaching an UNREACHABLE().

Bug 20025568

Change-Id: I37d2c7171e0704b4064e56e8ca8799f930038d87
Reviewed-on: https://swiftshader-review.googlesource.com/3481
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
a818c45371a81739aeb521dca24ba74ca6a4d38b 11-Jun-2015 Alexis Hetu <sugoi@google.com> Eliminating warnings from SwifShader

SwiftShader had over 270 warnings and this
reduces the count to about 90, some of which
can be addressed later, since some are less
trivial to remove. The changes include:
- Making sure we don't build any project with
RTTI enabled, otherwise, we get some
vftable size mismatch warnings
- Making sure exception handling is the same
for all configurations
- Changing minus <unsigned> to the equivalent,
and valid, ~<unsigned> + 1
- Explicitly casting types to bool by adding
"!= 0" or "!= nullptr", depending on the case
- Making sure no #define overrules another one
without first doing the proper #undef of that
#define
- Removing signed VS unsigned comparisons
- Making sure WinMain is __stdcall

WebGL tests passed.

Change-Id: I8d8d80adc862633b656d7e99c8ea461924fc0ef4
Reviewed-on: https://swiftshader-review.googlesource.com/3475
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
2c4edc2fe9903cba4c2817b1dd3962122f93ad73 09-Jun-2015 Nicolas Capens <capn@google.com> Make back buffers non-lockable.

Bug 21716622

Change-Id: I041fd37d461114a52a3b3dfa57e4aee6c01e5ee5
Reviewed-on: https://swiftshader-review.googlesource.com/3445
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
3779ea9cb522134ba11f2eae72112f9bfecae584 10-Jun-2015 Nicolas Capens <capn@google.com> Use only external surface dimensions.

They should always be identical to the internal ones.

Bug 21424351

Change-Id: Iafa18c14cc4d2e16f20238dac0208a8159cbaa6a
Reviewed-on: https://swiftshader-review.googlesource.com/3460
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
3aa46cbdcb0cc386a53cabe67954a114593c37e5 03-Jun-2015 Nicolas Capens <capn@google.com> Use the last triangle vertex for flat shading on OpenGL.

Bug 21559270

Change-Id: I4c2b5eb7076cc459422fbbb397a684c19bd643c2
Reviewed-on: https://swiftshader-review.googlesource.com/3372
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
eafdb22c36f2077815eadf2a1db0fb6547bf0241 15-May-2015 Nicolas Capens <capn@google.com> Analyze the shader for define instructions.

This eliminates the need to specify if shaders can contain defined
constant values in the front-end using a global variable.

Change-Id: If7802a2743c0afa650a2631cd7945c8b3d7cf645
Reviewed-on: https://swiftshader-review.googlesource.com/3152
Reviewed-by: Greg Hartman <ghartman@google.com>
Tested-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
deda34b0d40b8cea039766895789099d34589a5d 29-Apr-2015 Nicolas Capens <capn@google.com> Combine es2::Image and es1::Image into egl::Image.

Change-Id: Iadd4ce8ac36ad3458741f244423731fa00d7fd84
Reviewed-on: https://swiftshader-review.googlesource.com/2982
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
f7be67f8e9b497e47a1740a27a85886482613679 11-Feb-2015 Alexis Hetu <sugoi@google.com> Texture3D copy to level

Bug 19126833

Change-Id: I6da0f1a3d09ab8f510f6f5b2600d911095e02a43
Reviewed-on: https://swiftshader-review.googlesource.com/2200
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
235781d1c02eab8fd95b8b75a426837075ecd97a 27-Jan-2015 Nicolas Capens <capn@google.com> Implement support for wide lines.

Bug 18962347

Change-Id: I673610bfd50bc0e09aedd764336c7e10cfa11e08
Reviewed-on: https://swiftshader-review.googlesource.com/1831
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp
e8321394237fa04e1a3f066d5b96025f48c36dfc 03-Nov-2014 Nicolas Capens <capn@google.com> Rename the GLES2 folder to OpenGL.

BUG=18218488

Change-Id: I162a3a80a8e098a2a52b02ea56d746074dfb938d
Reviewed-on: https://swiftshader-review.googlesource.com/1320
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLES_CM/Device.cpp