- 22 Apr, 2016 4 commits
-
-
Nicolas Capens authored
Change-Id: I49d6d36ecf9a5f0d3d333422b3e4970192617c05 Reviewed-on: https://swiftshader-review.googlesource.com/5180Reviewed-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: Idc8c2a241af91916857ba015b061ce655b33e866 Reviewed-on: https://swiftshader-review.googlesource.com/5179Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I29172c0c5423750db2665c350746b82fd2a34653 Reviewed-on: https://swiftshader-review.googlesource.com/5181Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
In a lot of cases, int was being used instead of size_to represent sizes. That led to some warnings about inconsistencies between int and size_t usage. While this cl doesn't solve all warnings, it tries to use size_t and int where it should be appropriate to use them. Change-Id: Id760df1360f65b2bba60f4075cdf4954fc6bbaf3 Reviewed-on: https://swiftshader-review.googlesource.com/5177Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 21 Apr, 2016 4 commits
-
-
Nicolas Capens authored
The spec states that GL_INVALID_OPERATION is generated when a shader or program function is called on the wrong object type. GL_INVALID_VALUE is generated when there's no shader nor program object by that name. Change-Id: Id9d922b390ca5d2db233eb60b6a44992105cb933 Reviewed-on: https://swiftshader-review.googlesource.com/5176Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
When textures have padding after a row of pixels, we can't use the sampler's fast path which uses shift operations. We have to treat it as an NPOT texture. Previously only mipmap level 0 was checked for padding, but when a texture is also a render target we allocate 2x2 pixel blocks so a 1x1 mipmap has stride 2. Change-Id: I7421fddbe5ed0d330d881f09c2161d9c42348600 Reviewed-on: https://swiftshader-review.googlesource.com/5175Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Proper validation of varyings used for transform feedback was added. Simple types, as well as arrays and array elements are allowed. Change-Id: I83ceb5eb19bf5691264ab0e142c3cc6a7debda4c Reviewed-on: https://swiftshader-review.googlesource.com/5058Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
We used to compute the cube map LOD by projecting all sampling rays onto the same face (arbitrarily chosen). This changes it to intersect the rays with the cube and use the 3D distance between them. Change-Id: If90b29cb4c13e6128ce6642eb28bb92602e783df Reviewed-on: https://swiftshader-review.googlesource.com/5160Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 19 Apr, 2016 3 commits
-
-
Alexis Hetu authored
From the ES3 spec, section 4.4.2 (about DeleteRenderbuffers): "Unused names in renderbuffers are silently ignored, as is the value zero." And from section 6.1.5: "IsSampler will return TRUE if sampler is the name of a sampler object previously returned from a call to GenSamplers and FALSE otherwise". Also, glIsSampler can use Context::isSampler(), which uses ResourceManager::isSampler(), which should only look whether a name has been reserved, not whether the object is allocated. Note: Even though the spec mentions (about Sampler objects): "they acquire state only when they are first used as a parameter to BindSampler, SamplerParameter*, GetSamplerParameter*, or IsSampler", it shouldn't hurt to not allocate the object when calling IsSampler, since a subsequent call to any other Sampler object related function should allocate it. Change-Id: I69c9d8bbcf93231747b913c0afbd970c78d02cf1 Reviewed-on: https://swiftshader-review.googlesource.com/5161Tested-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: Id82e8dba0d934f5c4bb2eefe1647839f25917898 Reviewed-on: https://swiftshader-review.googlesource.com/5150Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
John Sheu authored
Change-Id: If2f96b4cc1c09cd28771740f09be5f84875033ab Reviewed-on: https://swiftshader-review.googlesource.com/5091Reviewed-by:
Nicolas Capens <capn@google.com> Tested-by:
Nicolas Capens <capn@google.com>
-
- 18 Apr, 2016 9 commits
-
-
Nicolas Capens authored
Bug 19353282 Change-Id: I4a1782c2f1e9ae52b731ef447e97c353cc41044e Reviewed-on: https://swiftshader-review.googlesource.com/5123Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 19353282 Change-Id: I6d1022c42a3347b8deb01af15078769d794050cb Reviewed-on: https://swiftshader-review.googlesource.com/5146Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 19353282 Change-Id: I4319ad1836de36cc4b91b04ed226f925f82013ee Reviewed-on: https://swiftshader-review.googlesource.com/5145Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 19353282 Change-Id: I4e99589477de32bb8004feec673e1dbddb675047 Reviewed-on: https://swiftshader-review.googlesource.com/5144Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Bug 19353282 Change-Id: If2eb9f2d78c3a44b720bb1f223711411b576d710 Reviewed-on: https://swiftshader-review.googlesource.com/5140Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
A cl recently introduced the XRB32F internal format, but while it fixed some cases where this format is used as a rendertarget, it seems to have caused regressions in sampling. A new case has been added in the sampling code to handle this new format properly. Change-Id: I7aa537a410d7b68c47771a72dec487e4b4c4e8be Reviewed-on: https://swiftshader-review.googlesource.com/5147Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
UInt <-> Int conversions are noop (bitwise), so it's allowed to simply perform a move operation in that case. Change-Id: I2078b2cf2933f5ced25b8ea81933e543a017faaf Reviewed-on: https://swiftshader-review.googlesource.com/5143Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
BGRA8 texture support also applies to texture copy operations. Change-Id: Ie3920585904c67ddf1b5b308eff60bc83f9e195b Reviewed-on: https://swiftshader-review.googlesource.com/5142Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Fixed a copy-paste error where only half the required number of bytes were loaded. Change-Id: I43ea2e1b5368137e19fb6bb20c03b5c9ca10ba3b Reviewed-on: https://swiftshader-review.googlesource.com/5141Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 14 Apr, 2016 9 commits
-
-
Alexis Hetu authored
Transform feedback requires a bit of extra data to write properly into the transform feedback buffers. First it needs to know where in the buffer to read, which can be derived from the vertex number provided in vertexStart. Also, since SwiftShader always processes 3 vertices per primitive, regardless of the primitive type, transform feedback needs to know which vertices to use, and that information can be derived from verticesPerPrimitive. Change-Id: I820d99949d7b2955794cc143ffb178e76dd418d7 Reviewed-on: https://swiftshader-review.googlesource.com/5062Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
Added code to properly render to alphaless floating point formats. Change-Id: I2e226fb787d8456f61a2946fb9c0d8a9dbb58243 Reviewed-on: https://swiftshader-review.googlesource.com/5128Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I49c0f7b78a131c0d78c2cfb207bb3019b2b93a15 Reviewed-on: https://swiftshader-review.googlesource.com/5129Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Half-float formats are renderable due to GL_EXT_color_buffer_half_float. Change-Id: I4c3716f578cb4a5dd32f2b22265df4263e9834cc Reviewed-on: https://swiftshader-review.googlesource.com/5127Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
OpenGL ES 2.0 expects GL_INVALID_OPERATION when querying default framebuffer attachment parameters. Change-Id: Ie0e0c35ad835e06b16c7aaaea48f7ec7eb64c663 Reviewed-on: https://swiftshader-review.googlesource.com/5124Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: Ibd2c6ae673be34e7a6e701454261f25658d1df22 Reviewed-on: https://swiftshader-review.googlesource.com/5122Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
GL_INVALID_ENUM is for enum values that are never valid for the function. GL_INVALID_OPERATION is expected for enum combinations that are not valid. Change-Id: I43a6cd169303420a680e4cab15683605a8684517 Reviewed-on: https://swiftshader-review.googlesource.com/5094Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Early out checks for zero size were skipping the validation. Change-Id: I1d8173146117be5a7a3330cf6eae46c2ef8231ff Reviewed-on: https://swiftshader-review.googlesource.com/5093Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
GLSL ES 1.0 specifies that "a function body has a scope nested inside the function’s definition". For GLSL ES 3.0, they form a single scope. Both specs use the compound_statement_no_new_scope rule. This change respects that while supporting both behaviors. It does not impact legacy content since it makes things more permissive. Change-Id: Ica40fbf4d24d441ca2288fe5d43c288161e16b89 Reviewed-on: https://swiftshader-review.googlesource.com/5055Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 13 Apr, 2016 2 commits
-
-
Alexis Hetu authored
Added floating point formats to validateColorBufferFormat, which is used by glCopyTexImage2D, since it was a missing part of the previously added floating point extensions. From the extension spec: https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_half_float.txt "9. Should CopyTex[Sub]Image be supported for floating-point formats? [...] Yes." Change-Id: Ie14d8afd352b004e8a2400cfef16facdeab94e33 Reviewed-on: https://swiftshader-review.googlesource.com/5110Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
pixelProgress[cluster].processedPrimitives could have been cleared between the moment where it has been written and where it is read, so I added a local variable to prevent this issue. Change-Id: I495ed5c9e845c276890d6193b2fe4b8208f993d1 Reviewed-on: https://swiftshader-review.googlesource.com/5061Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 12 Apr, 2016 2 commits
-
-
Alexis Hetu authored
Added variables and function calls to lock/unlock transform feedback data used for reading the selected transform feedback varying variables out of the vertex shader. Also fixed uniform buffer unlocking potential race condition. Change-Id: I98790fc36fdf8674506d924b2f21b3e68892811a Reviewed-on: https://swiftshader-review.googlesource.com/5060Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Alexis Hetu authored
transformFeedbackEnabled represents flags, not a single value, so it should not have been of type bool. Change-Id: I723660a84e0ecfd42d361511d8b445d40d6d31a8 Reviewed-on: https://swiftshader-review.googlesource.com/5063Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 11 Apr, 2016 6 commits
-
-
Nicolas Capens authored
Change-Id: I9ac2051f5cc8703e804b86c0006bb1b9fe48f521 Reviewed-on: https://swiftshader-review.googlesource.com/5082Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: If3b61ad65f1f1d6687890bd8715b2a534c78a353 Reviewed-on: https://swiftshader-review.googlesource.com/5081Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I68322e6626953023c3af97325f085bc33ff1b7c6 Reviewed-on: https://swiftshader-review.googlesource.com/5080Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I38ccac08347592356e0225b6eb90517e20394909 Reviewed-on: https://swiftshader-review.googlesource.com/5079Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: If17c2429d38158663c2436e374691a460e3d588c Reviewed-on: https://swiftshader-review.googlesource.com/5064Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
Nicolas Capens authored
Change-Id: I7dd1e6db9a4cee64cb10fb27373d77038b2af63e Reviewed-on: https://swiftshader-review.googlesource.com/5078Tested-by:
Nicolas Capens <capn@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-
- 08 Apr, 2016 1 commit
-
-
Alexis Hetu authored
Uniform blocks members, when unnamed blocks are used, are used in glsl only with the member's name, without any reference to the block itself. When this happens, we still need the whole block to be allocated as one contiguous structure in the registers. To do that, whenever a member of an unnamed block is first used, the whole block is allocated. Also, whenever any member of an unnamed block attempts to allocate a register, it first verifies if the parent block has already been allocated. So this means that both allocation and lookup must be done through the parent block when dealing with unnamed block members. Change-Id: Ib11eaa1ee052d32252f32997eb5f650a9765533d Reviewed-on: https://swiftshader-review.googlesource.com/5059Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <capn@google.com>
-