History log of /external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d999309b36cb3dceadd38217b322f0e96a06b202 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/libGLESv2/Texture.cpp
8fa972a8040c54fe3d97e94467069a561780dfa8 25-Apr-2016 Alexis Hetu <sugoi@google.com> SRGB implementation

The SRGB conversion code was already available, but wasn't used
specifically for the SRGB type framebuffers. Also, the SRGB
conversion should always be applied after blending.

According to the GLES 3.0 spec, section 4.1.8 - sRGB Conversion:
"the R, G, and B values after blending are converted
into the non-linear sRGB color space by computing."

All related dEQP tests pass.

Change-Id: I9342d2f74aa650f28835a951bdfa8bd371bc6924
Reviewed-on: https://swiftshader-review.googlesource.com/5189
Tested-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/libGLESv2/Texture.cpp
e72c4328ae76674f0f4c84838ebf5e0be77aa78d 18-Apr-2016 Nicolas Capens <capn@google.com> Refactor implementation constants.

Bug 19353282

Change-Id: If2eb9f2d78c3a44b720bb1f223711411b576d710
Reviewed-on: https://swiftshader-review.googlesource.com/5140
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
7947d0959ae36a80fdc938334290a15720f19ac2 11-Feb-2016 Alexis Hetu <sugoi@google.com> Fixed setting Renderbuffer's layer and level

The original code allowed Renderbuffer objects to select
layer and level at construction time, but after that point
these parameters were not modifiable. This cl adds the code
to modify layer and/or level when requested.

Change-Id: Ic694904f83b794879110bd0505a36a011d79a2a5
Reviewed-on: https://swiftshader-review.googlesource.com/4765
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
73a74132e4c49fb0566fa620702519bae73bf2f8 10-Feb-2016 Alexis Hetu <sugoi@google.com> Added state query for immutable levels

Added immutable levels info to Texture and added the query.

Change-Id: I900a3c433dcc63b8113b1f623da3518c00680e16
Reviewed-on: https://swiftshader-review.googlesource.com/4751
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
75106a2242ada85d1b6431ee812e48e374067256 08-Feb-2016 Nicolas Capens <capn@google.com> Fix reference counting of texture images.

- Only unbind (orphan and release) images when the texture destructs.
- Let images hold just one reference to the parent texture.
- Check if textures and images only reference each other and garbage collect.

Bug 26851951

Change-Id: I2b0bcc283bf545d948e91288c531eac7cc14d122
Reviewed-on: https://swiftshader-review.googlesource.com/4711
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/libGLESv2/Texture.cpp
18f75a4dd3637a2b86a5dc81db7bfcc589890645 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/libGLESv2/Texture.cpp
bb59219de9b4f896607d2486652b91bba1a73d04 15-Oct-2015 Alexis Hetu <sugoi@google.com> Fixed format validations

Format validations were failing if the exact same format
wasn't used between different texture related calls to the
same texture, even when the formats were equivalent, so I
added a GetSizedInternalFormat function based on a format
map (courtesy of Angle). The validation checks were also
unified in utilities.cpp and used wherever texture formats
were used, to make sure Image objects used in Texture
objects always use the sized format, so that format
comparisons work properly.

Change-Id: I72fc8fb1b0f135ac679c274866e5b8e223541e7f
Reviewed-on: https://swiftshader-review.googlesource.com/4082
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
05480cd58bd2ff703e75dc3063af03a5e5d578a8 01-Dec-2015 Alexis Hetu <sugoi@google.com> Enabled 2D array textures

- Implemented mipmap generation and completeness checks for
Texture2DArray.
- Fixed texture parameters setters and getters along with
mipmap generation functions to use the proper 2D array
texture instead of the 3D texture for 2D array textures.
- Enabled the same path as 3D texture for 2D array textures
in the sampler.
- Added an address function for the w component, which
simply clamps the rounded value for 2D array textures and
adapted SamplerCore::computeIndices to this new behavior.

Change-Id: Ida0659afac75330bfd9af4052cfd2625c729f9ef
Reviewed-on: https://swiftshader-review.googlesource.com/4310
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
71e1e750c0775f25bc0126131785da858cf51ddf 05-Oct-2015 Alexis Hetu <sugoi@google.com> Adjusting texture completeness checks

Mipmap levels used in texture sampling must be limited by the
texture's base level (default: 0) and max level (default: 1000).
This has an effect on texture completeness, since only the
required levels are required to be present in the texture to be
considered complete.

Change-Id: I31dd87d5a4306622e469c2546107b59f6e51c7dd
Reviewed-on: https://swiftshader-review.googlesource.com/4039
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
b602f0dc7d0f1f69ad4a7e68456fcbcd8729676c 01-Sep-2015 Nicolas Capens <capn@google.com> Enumerate multisampled EGL configs.

Bug 23535380

Change-Id: I4bc3d9821812253df46262f59d9a55a5802f00b0
Reviewed-on: https://swiftshader-review.googlesource.com/3936
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
460e41f2376f4b28503b954fa7e0aa84839ea792 01-Sep-2015 Alexis Hetu <sugoi@google.com> Handling ETC2, EAC and ASTC related enums

Note that no decoding functionality is added here.
This cl merely acknowledges textures of the ETC2, EAC
and ASTC format by handling their related enums in
SwiftShader, and the byte data is then allowed to be
passed down all the way to the Surface object, where
the decoding code will be added. Also note that this
cl does not add the extensions strings required for
ASTC support, so ASTC is still unsupported after this cl.

Change-Id: I1d8aed0fb64b0d4c72846e87410750d1e485c46b
Reviewed-on: https://swiftshader-review.googlesource.com/3938
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.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/libGLESv2/Texture.cpp
19f8b5974a931f238815e7432dcca68f83b5798d 07-Jul-2015 Greg Hartman <ghartman@google.com> Treat rebinding the same image as a noop.

Bug 22321923

Change-Id: Ib32137a0ac940ab40d375e928e3334b50387c5d5
Reviewed-on: https://swiftshader-review.googlesource.com/3667
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Greg Hartman <ghartman@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.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/libGLESv2/Texture.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/libGLESv2/Texture.cpp
8af500780c052d26a85df32433cd4b7335d0ca22 29-Apr-2015 Alexis Hetu <sugoi@google.com> glFramebufferTextureLayer API implementation

Implemented API level of glFramebufferTextureLayer.
All functions should now be adapted to handle level
and layer, all the way to RenderbufferTexture3D,
where layer is still unimplemented.

Change-Id: Id5fe94f998ee517ae84cb0d6e60d535cc7891fe3
Reviewed-on: https://swiftshader-review.googlesource.com/3320
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
c7b05103826dc52f81248d3d278a7af26c322604 23-Apr-2015 Alexis Hetu <sugoi@google.com> Pixel store parameters

Adding the missing pixel store
parameters needed to use some
tests. Added the UnpackInfo
structure to minimize function
signature changes while sending
all unpack parameters to
loadImageData().

Change-Id: I86b660697ae726f902923066a9defe6d3a88860f
Reviewed-on: https://swiftshader-review.googlesource.com/2943
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
8216de9b5ae5079c6cd29a497f4b85e884e8f993 15-Apr-2015 Alexis Hetu <sugoi@google.com> Texture2DArray skeleton

Added basic class / enums / function skeletons
for Texture2DArray. No sampling code has been
added to SamplerCore for Texture2DArray yet.

Change-Id: I78bc1fdec069005d2b3b6f6b1ba41db8c278f74b
Reviewed-on: https://swiftshader-review.googlesource.com/2852
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
1b2f628aa9e22757fdbec6ea790149f6839c02f6 16-Apr-2015 Alexis Hetu <sugoi@google.com> Multiple color attachments

Adding multiple color attachments to
Framebuffer objects. This cl allows
setting multiple draw buffers, but
there is currently no code exercising
that path. These will connected
properly to a shader's multiple
outputs later.

Change-Id: I41d4eadc4518d0b9c1468802c32e622df591e860
Reviewed-on: https://swiftshader-review.googlesource.com/2881
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.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/libGLESv2/Texture.cpp
f68510dddd0e801b507fd77a108a5f0508c9d4a5 24-Feb-2015 Alexis Hetu <sugoi@google.com> First simplest 3D mipmap implementation

Bug 19126833

Change-Id: Idd67457542deb1408812bce2c796b275a7b19f0e
Reviewed-on: https://swiftshader-review.googlesource.com/2420
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
a230805e1fb8d9da59c706ba13aed2a9f3410c1e 15-Apr-2015 Nicolas Capens <capn@google.com> Access library dependencies through a single object.

Bug 18752589

Change-Id: I93155cead50b30faa876023f9ed00f60b7c9e34e
Reviewed-on: https://swiftshader-review.googlesource.com/2831
Reviewed-by: Alexis Hétu <sugoi@google.com>
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/libGLESv2/Texture.cpp
ff7b8867a89e3e5603222f33b721cddb148046ee 01-Apr-2015 Alexis Hetu <sugoi@google.com> Added OpenGL ES 3.0 parameters to buffers and textures

Added parameters to support:
- Mapping a subset of a buffer
- New texture features like swizzling, min/max LOD,
texture comparison modes, etc.

Change-Id: Iffd961a3aeab33cb95892f93d78d3888ce60e401
Reviewed-on: https://swiftshader-review.googlesource.com/2780
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
de6b75c6d89938ef7bb43aabf8423345851b87d2 29-Mar-2015 Nicolas Capens <capn@google.com> Use matching internal and external formats for RGBA8 images.

Change-Id: I056e1a4c7ace83207bed85ce28aca187d72adc6f
Reviewed-on: https://swiftshader-review.googlesource.com/2757
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/libGLESv2/Texture.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/libGLESv2/Texture.cpp
7cc75e1c3d1e60847e47e19cfbe71051b95e7f9d 29-Jan-2015 Nicolas Capens <capn@google.com> Make the Object class independent of the GL version.

Bug 18962347

Change-Id: Ica99629bf58e799d6552d4a92ce3ae3eff57da27
Reviewed-on: https://swiftshader-review.googlesource.com/1880
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
b027aa91f4b20c5062fbc781d0ff693bf294cbcc 19-Jan-2015 Alexis Hetu <sugoi@google.com> Adding Texture3D support.

Bug 19126833

Added Texture3D argument verifications.
Added the basic API and functions. A few are still unimplemented:
- Image::loadCompressedData() (for depth other than 1)
- Texture3D::copyImage()
- Texture3D::generateMipmaps()
Added colour grading test for 3D texture

Change-Id: I9e52afa7213999f94c5916c2f301fc6fa4b42c0d
Reviewed-on: https://swiftshader-review.googlesource.com/1730
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
fa0cc04a0eac3f80f00592cc885f2950f696d473 10-Dec-2014 Nicolas Capens <capn@google.com> Fix an image destruction deadlock.

The EGL image extension allows a texture image to be shared with another
texture. We previously prevented destroying them as long as they are shared
but the parent texture (which owns the resource lock for all its images)
could be destroyed before the EGL image is destroyed, causing a deadlock
when trying to acquire the resource lock. The situation was aggravated by
increasing the parent texture's reference count with the image reference
count (i.e. not the 'owning' texture's reference count). This fix ensures
that the parent texture can only destroy the images it owns.

Bug 18680652

Change-Id: I7fa09d181e695cbc287e77874bdb88f24c22cbd8
Reviewed-on: https://swiftshader-review.googlesource.com/1601
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.cpp
606c86ee240351ba92a0fcd82c26a1f609cebe13 10-Nov-2014 Nicolas Capens <capn@google.com> Support GL_TEXTURE_2D targets in glEGLImageTargetTexture2DOES.

BUG=18316605

Change-Id: I46cf8b97fcb2d7606a94570ef1d742ce0f973dfb
Reviewed-on: https://swiftshader-review.googlesource.com/1356
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Texture.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/libGLESv2/Texture.cpp