- 01 Oct, 2015 2 commits
-
-
Alexis Hetu authored
- A new routine has been added to convert from any component of 8bit sRGB data to 8bit linear RGB, using a precomputed array. - Two new classes have been added to easily convert to and from the RGB9E5 format and the R11G11B10F format. Change-Id: I85ca58bed30bcd5a9130bca5040d351badabb19e Reviewed-on: https://swiftshader-review.googlesource.com/3990Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I201ffae8193cfcac48a7ad3446f4b79da6c3d217 Reviewed-on: https://swiftshader-review.googlesource.com/4032Tested-by:
Greg Hartman <ghartman@google.com> Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 30 Sep, 2015 2 commits
-
-
Alexis Hetu authored
A new ETC2 decoder was added to SwiftShader, based on the OpenGL ETC2 specification. The decoder is fully standalone and does not rely on any outside code (there are no files included in the header and the source file only include the header file, so it can easily be ported to any other project). Things to note: - In Surface.cpp, signed ETC2 images are decoded to full 32FP images, because of the lack of support for signed 8 bit R and RG internal formats. This should be fixed as soon as these formats are made available. - sRGB conversion is not performed within the decoder, so it has been added as a loop inside Surface::decodeETC2 after the ETC2 decoding is performed. This is to make sure that there is no loss of precision, should we choose to do the conversion to a higher bit precision format. The loop is fairly straightforward and does the conversion in place, so the impact on performance compared to doing the sRGB conversion in the decoder should be minimal. Change-Id: I3a1af623353344bf35818ba9c9f4cf349b587e2f Reviewed-on: https://swiftshader-review.googlesource.com/3960Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Implementation for determinant has been done directly in ShaderCore in order to avoid having to allocate temporaries manually in OutputASM. For now, the implementation for the inverse matrix is very simple, i.e., it doesn't attempt to re-use results from the cofactor matrix computation to compute the determinant or do any other kind of optimization, but it works. Change-Id: I0fc70133809ae2752dc567bf58b60d7af7a88009 Reviewed-on: https://swiftshader-review.googlesource.com/4000Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 29 Sep, 2015 1 commit
-
-
Alexis Hetu authored
A few cases of matrix multiplication weren't working properly due to using the wrong matrix dimension. For example, if we have the following matrix operation (using matColRow): mat32 = mat22 * mat32 This results in 3 multiplication of 2 element vectors for each row of the result and the current code (before this cl) would only perform 2 multiplications and produce the wrong result. This cl should fix all uses of the * operator and of the matrixCompMult function when using non square matrices. Change-Id: Id0dbfd9d65c20102220049c34435c37e3db7f9da Reviewed-on: https://swiftshader-review.googlesource.com/3966Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 28 Sep, 2015 1 commit
-
-
Alexis Hetu authored
Fixed 2 occurrences of setCompareMode being used instead of setImmutableFormat and added a missing break statement. Change-Id: I1013d0983220ba155dcd4f6255c6e089f03e7fc8 Reviewed-on: https://swiftshader-review.googlesource.com/4016Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 25 Sep, 2015 1 commit
-
-
Alexis Hetu authored
Some issues, like failures using the do-while command, were caused by the assembler being unable to assign registers consistently for a single temporary variable. For example, in the do-while case, the "iterate" Temporary object was not being assigned to the same register between it's initial declaration and it's usage inside the loop condition later on, causing the do-while to behave weirdly. Other instances where multiple Temporary objects ended up being used simultaneously of where a single object was references in multiple parts of the code could have failed because of this. The fix is simply to assign Temporary objects a unique ID. Change-Id: Ie48c596b4c6570853702cab71497b3e00a40c2a0 Reviewed-on: https://swiftshader-review.googlesource.com/4015Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 24 Sep, 2015 3 commits
-
-
Nicolas Capens authored
Bug 20891368 Change-Id: Ie293159d2092985c496202eb25733e69f9a3ff6f Reviewed-on: https://swiftshader-review.googlesource.com/3252Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Greg Hartman <ghartman@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 20891368 Change-Id: Iea526eebe65616079578563126a6958d87647eb1 Reviewed-on: https://swiftshader-review.googlesource.com/3255Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I4f610396af2d31792d9b9e452abd8ac597eb1aee Reviewed-on: https://swiftshader-review.googlesource.com/4011Reviewed-by:
Greg Hartman <ghartman@google.com> Tested-by:
Greg Hartman <ghartman@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 23 Sep, 2015 3 commits
-
-
Alexis Hetu authored
- Removed redundant parameters from fogBlend() - Moved computation registers and color output registers from PixelRoutine to PixelProgram. - Made many PixelRoutine member functions private rather than protected when possible. Change-Id: I748333626d993c0d46b369991d74bc3a22c972c2 Reviewed-on: https://swiftshader-review.googlesource.com/3850Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Bug 20724899 Change-Id: I03f858ee3d159cfa2541afa1d8d063ca99701a4c Reviewed-on: https://swiftshader-review.googlesource.com/3964Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
uint uniforms were failing because of a missing condition. This only affected uint scalars, uint vectors were unaffected. Change-Id: Ia2338a683f1e6f5f9b6944aae72e2dbec70a8ef2 Reviewed-on: https://swiftshader-review.googlesource.com/3963Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 22 Sep, 2015 4 commits
-
-
Nicolas Capens authored
Bug 20891368 Change-Id: I29054ccc0a91fdc41d26d26dd4f55dfd4dfca7e4 Reviewed-on: https://swiftshader-review.googlesource.com/3952Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: Ib9dadf3d8fee0f63deb10e6754856c0530c928ab Reviewed-on: https://swiftshader-review.googlesource.com/3995Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 22375329 Change-Id: Ifeb8017d50224b784dedd6197779c6ebfa5cf484 Reviewed-on: https://swiftshader-review.googlesource.com/3994Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 20891368 Change-Id: Icc0957db55cf82e42c0ccb2c8881332f71f52f5f Reviewed-on: https://swiftshader-review.googlesource.com/3993Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 21 Sep, 2015 5 commits
-
-
Greg Hartman authored
Change-Id: If2fb1ba3ab1428086ec35bc5824e4307156c67a0 Reviewed-on: https://swiftshader-review.googlesource.com/3980Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Greg Hartman <ghartman@google.com>
-
Alexis Hetu authored
glBindSampler's sampler check was too strict, as the sampler needed to exist, but not necessarily to have been allocated yet, so the condition was fixed. Change-Id: Ia8301028dbf35efa16bfc6cb74a69e105d8a505d Reviewed-on: https://swiftshader-review.googlesource.com/3965Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
- Transform feedback buffers are now properly cleared when the object is deleted - Transform feedback buffers are now properly detached when a buffer is deleted - Ending a transform feedback now properly sets its PAUSED state to false - Added missing enums to Context::getQueryParameterInfo. GL_READ_FRAMEBUFFER_BINDING_ANGLE was also missing, so it was also added in this cl. Change-Id: I286caec119d5ae3adde95c4cce7f0298b8f836c3 Reviewed-on: https://swiftshader-review.googlesource.com/3962Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
- Fixed a few typos in the format map - Added missing OpenGL ES 3.0 types to CheckTextureFormatType Change-Id: I4a0d8ad67fd85f8c32ef528ce1b3c029fe5f84aa Reviewed-on: https://swiftshader-review.googlesource.com/3991Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
Change-Id: I9e70cd5e230a86ef3e4bed1884ede14a128c2d67 Reviewed-on: https://swiftshader-review.googlesource.com/3992Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 11 Sep, 2015 1 commit
-
-
Greg Hartman authored
Change-Id: I859db3be12c24fc4544dc3780e5fdf5c598412d8 Reviewed-on: https://swiftshader-review.googlesource.com/3970Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Greg Hartman <ghartman@google.com>
-
- 03 Sep, 2015 6 commits
-
-
Nicolas Capens authored
Bug 23041739 Change-Id: I1bec1fa05e8cf81864f8c0c2f49cf9c8093de5e0 Reviewed-on: https://swiftshader-review.googlesource.com/3934Reviewed-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>
-
Nicolas Capens authored
Bug 23535380 Change-Id: I4bc3d9821812253df46262f59d9a55a5802f00b0 Reviewed-on: https://swiftshader-review.googlesource.com/3936Reviewed-by:
Greg Hartman <ghartman@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I012bb669444e28f844c5571ff639b31dd1a35e1d Reviewed-on: https://swiftshader-review.googlesource.com/3950Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: Id2c07064a68158d3a4d57974244feae1c15e2fa1 Reviewed-on: https://swiftshader-review.googlesource.com/3940Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
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/3938Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Setting a multisampling values of 0 or 1 are apparently 2 different cases, so I tried removing the even number check to fix this. It didn't break any tests, but I'm not sure how well this is covered by the tests. Change-Id: I0e7de9b153288f0c07bde9a2f104ea1d2bf230ac Reviewed-on: https://swiftshader-review.googlesource.com/3622Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 02 Sep, 2015 2 commits
-
-
Nicolas Capens authored
Bug 21572252 Change-Id: Iaf54b4d960dbc243c40f981e1c73c199481e2d28 Reviewed-on: https://swiftshader-review.googlesource.com/3930Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 21572252 Change-Id: I0c5aedf4fec7238544c1d716f65f0fd91cd59b57 Reviewed-on: https://swiftshader-review.googlesource.com/3937Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 31 Aug, 2015 1 commit
-
-
Alexis Hetu authored
This cl enables true integer support in glsl shaders. It still uses floating point registers to store all registers, regardless of the type, so integer and unsigned integer variables are simply reinterpreted as integers or unsigned integers and used as such by the appropriate instructions. Change-Id: If62213c917b4b0c907e58db9cd36944dd198beaa Reviewed-on: https://swiftshader-review.googlesource.com/3910Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 28 Aug, 2015 7 commits
-
-
Alexis Hetu authored
The new opcodes related to true int and uint support in glsl shader are now handled properly in PixelProgram and VertexProgram. Change-Id: I62565844f24708b4bd89dd99bbf971b55495c5da Reviewed-on: https://swiftshader-review.googlesource.com/3932Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 23041720 Change-Id: I9f6bed0a3d239a0adde9cc4e90cc368f078f3662 Reviewed-on: https://swiftshader-review.googlesource.com/3902Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I8be27042263ae80da3e01dce6c84dcf43645a232 Reviewed-on: https://swiftshader-review.googlesource.com/3911Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Adding the proper #include <limits.h> for Linux when using INT_MAX and/or UINT_MAX. Fixed ShaderCore.cpp and preemptively fixed libGLESv3.cpp. Change-Id: Iedd445157f3de8c08394e6d2c9f99539eb123845 Reviewed-on: https://swiftshader-review.googlesource.com/3933Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
- Removed float <-> int bit conversion functions, as these will not be needed if everything is stored as float. - Added ineg for the minus (-) sign in from of a value. - Added f2i/i2f/f2u/u2f for float <-> int conversions - Added b2i/i2b/b2u/u2b for bool <-> int conversions - Added iadd, isub, imul, imad, [iu]div, [iu]mod, [iu]min, [iu]max for these basic operations as integer operations. - Added left and right shifts - Added ucmp to compare unsigned values - Modified or/xor/and to support vectors instead of only scalars. - Added vector equality comparison functions Change-Id: I0f138e3707242ec0fffc1c12b95064ddc98f0087 Reviewed-on: https://swiftshader-review.googlesource.com/3888Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Opcodes for soon to be added integer operations such as: - Conversions to/from float - Negate - Comparison - Add, Sub, Mul, Div, Mod - Left Shift, Right Shift - Min, Max Change-Id: I16af0423fdb210a558ad293e0e043176bde1c9ee Reviewed-on: https://swiftshader-review.googlesource.com/3889Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Simple fix that replaces width by pitch where needed to avoid misalignment due to the difference between pitch and width in npot textures. Change-Id: I7acddc28fae21dddf870a6ef80ac7984cfaf8e0f Reviewed-on: https://swiftshader-review.googlesource.com/3931Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 25 Aug, 2015 1 commit
-
-
Alexis Hetu authored
Bit shifts compilation was failing when the types were a mismatch, but shifting a uint by an int (or vice versa) is allowed, so types may not match, and it's fine, as long as both are integer types. Change-Id: I86c52a572625b1d09803b0a8b887a63756544101 Reviewed-on: https://swiftshader-review.googlesource.com/3887Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-