OSDN Git Service
Alexis Hetu [Mon, 18 Apr 2016 18:00:11 +0000 (14:00 -0400)]
Fixed bad assert
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/5143
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 18 Apr 2016 17:56:01 +0000 (13:56 -0400)]
Allowed BGRA textures to be copied
BGRA8 texture support also applies to texture copy operations.
Change-Id: Ie3920585904c67ddf1b5b308eff60bc83f9e195b
Reviewed-on: https://swiftshader-review.googlesource.com/5142
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 18 Apr 2016 17:40:23 +0000 (13:40 -0400)]
Fixed loading UInt textures
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/5141
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 7 Apr 2016 15:21:54 +0000 (11:21 -0400)]
Adding task data for transform feedback
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/5062
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 13 Apr 2016 15:40:30 +0000 (11:40 -0400)]
Added FORMAT_X32B32G32R32F as a renderable format
Added code to properly render to alphaless floating point formats.
Change-Id: I2e226fb787d8456f61a2946fb9c0d8a9dbb58243
Reviewed-on: https://swiftshader-review.googlesource.com/5128
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Thu, 14 Apr 2016 18:53:24 +0000 (14:53 -0400)]
Validate renderability of texture formats.
Change-Id: I49c0f7b78a131c0d78c2cfb207bb3019b2b93a15
Reviewed-on: https://swiftshader-review.googlesource.com/5129
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Thu, 14 Apr 2016 18:18:58 +0000 (14:18 -0400)]
Fix renderability test.
Half-float formats are renderable due to GL_EXT_color_buffer_half_float.
Change-Id: I4c3716f578cb4a5dd32f2b22265df4263e9834cc
Reviewed-on: https://swiftshader-review.googlesource.com/5127
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Thu, 14 Apr 2016 04:10:42 +0000 (00:10 -0400)]
Fix framebuffer attachment parameter query error.
OpenGL ES 2.0 expects GL_INVALID_OPERATION when querying default framebuffer
attachment parameters.
Change-Id: Ie0e0c35ad835e06b16c7aaaea48f7ec7eb64c663
Reviewed-on: https://swiftshader-review.googlesource.com/5124
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 13 Apr 2016 19:26:14 +0000 (15:26 -0400)]
Validate internalformat and combinations.
Change-Id: Ibd2c6ae673be34e7a6e701454261f25658d1df22
Reviewed-on: https://swiftshader-review.googlesource.com/5122
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 12 Apr 2016 13:24:52 +0000 (09:24 -0400)]
Fix error on invalid type/format combination.
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/5094
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 12 Apr 2016 04:54:08 +0000 (00:54 -0400)]
Fix validation of texture level.
Early out checks for zero size were skipping the validation.
Change-Id: I1d8173146117be5a7a3330cf6eae46c2ef8231ff
Reviewed-on: https://swiftshader-review.googlesource.com/5093
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Thu, 7 Apr 2016 19:12:39 +0000 (15:12 -0400)]
Fix local variable hides function parameter for GLSL ES 1.0
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/5055
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 13 Apr 2016 14:30:03 +0000 (10:30 -0400)]
Added floating point formats to glCopyTexImage2D
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/5110
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 7 Apr 2016 15:05:57 +0000 (11:05 -0400)]
Transform feedback primitives written query fix
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/5061
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 7 Apr 2016 14:48:31 +0000 (10:48 -0400)]
Renderer side code to lock/unlock transform feedback data
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/5060
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 7 Apr 2016 15:33:13 +0000 (11:33 -0400)]
Fixed transformFeedbackEnabled in Context
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/5063
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Sun, 10 Apr 2016 03:45:12 +0000 (23:45 -0400)]
Fix min/max constant folding.
Change-Id: I9ac2051f5cc8703e804b86c0006bb1b9fe48f521
Reviewed-on: https://swiftshader-review.googlesource.com/5082
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Sun, 10 Apr 2016 05:54:50 +0000 (01:54 -0400)]
Fix constant expression vector indexing.
Change-Id: If3b61ad65f1f1d6687890bd8715b2a534c78a353
Reviewed-on: https://swiftshader-review.googlesource.com/5081
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Sun, 10 Apr 2016 05:53:59 +0000 (01:53 -0400)]
Fix unary operator return type.
Change-Id: I68322e6626953023c3af97325f085bc33ff1b7c6
Reviewed-on: https://swiftshader-review.googlesource.com/5080
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Sun, 10 Apr 2016 03:45:12 +0000 (23:45 -0400)]
Propagate constness.
Change-Id: I38ccac08347592356e0225b6eb90517e20394909
Reviewed-on: https://swiftshader-review.googlesource.com/5079
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 5 Apr 2016 21:18:24 +0000 (17:18 -0400)]
Fix constant folding of vector compares.
Change-Id: If17c2429d38158663c2436e374691a460e3d588c
Reviewed-on: https://swiftshader-review.googlesource.com/5064
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Sun, 10 Apr 2016 04:30:02 +0000 (00:30 -0400)]
Handle constant expressions that have not been constant folded.
Change-Id: I7dd1e6db9a4cee64cb10fb27373d77038b2af63e
Reviewed-on: https://swiftshader-review.googlesource.com/5078
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 7 Apr 2016 14:29:41 +0000 (10:29 -0400)]
Uniform block register allocation
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/5059
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 6 Apr 2016 22:05:00 +0000 (18:05 -0400)]
Half float packing and unpacking intrinsic functions
Implementation for packHalf2x16, unpackHalf2x16 intrinsic functions.
Change-Id: I55212f8bc2ecd30e0108858d74117c3cf60733ed
Reviewed-on: https://swiftshader-review.googlesource.com/5056
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 4 Apr 2016 19:41:51 +0000 (15:41 -0400)]
Uniform buffer uniform unpacking utility function
When data is packed into uniform blocks, some data isn't formatted in
a way that fits how data is usually represented, which is the case
for booleans and row major matrices. In these 2 cases, the variables
are unpacked into temporaries before being used. Booleans can be any
integer value and any non-zero value represents "true", so the value
in the uniform buffer has to go through an int to bool conversion
before being used. For row major matrices, a given register of that
matrix has to be transposed into a temporary before being used.
Change-Id: I0e001ceff2ce9be9a3570171e184586afc48c02d
Reviewed-on: https://swiftshader-review.googlesource.com/5040
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 6 Apr 2016 18:49:07 +0000 (14:49 -0400)]
Build fix
libGL was broken (probably by the recent namespace change, not sure)
Change-Id: I27e461f82a652cb8f9a646ab1d4091195efc454b
Reviewed-on: https://swiftshader-review.googlesource.com/5054
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 4 Apr 2016 20:30:15 +0000 (16:30 -0400)]
Renaming UniformBufferBinding to BufferBinding
UniformBufferBinding was used for both uniform buffers
and transform feedback buffers, so the uniform buffer
specific name no longer made sense.
Change-Id: I36a5b774e780460fa090c6c611cb8cb475ef2ced
Reviewed-on: https://swiftshader-review.googlesource.com/5042
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Fri, 12 Feb 2016 22:10:58 +0000 (17:10 -0500)]
Fix potential division by zero.
Bug
25351344
Change-Id: Iaf0ce657a3a98c9b70902240340ed5f3f8076281
Reviewed-on: https://swiftshader-review.googlesource.com/4769
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Fri, 12 Feb 2016 22:06:31 +0000 (17:06 -0500)]
Fix support for all GL_EXT_read_format_bgra formats.
Change-Id: I9b3977959aea8bd2711ebd94e06c0e09376d4d6e
Reviewed-on: https://swiftshader-review.googlesource.com/4768
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 6 Apr 2016 17:03:38 +0000 (13:03 -0400)]
Signed and unsigned integer packing and unpacking intrinsic functions
Implementation for packSnorm2x16, unpackSnorm2x16, packUnorm2x16 and
unpackUnorm2x16 intrinsic functions.
Change-Id: I6b9e2584c1aaad8011f026c217d8ad3f72e9ba45
Reviewed-on: https://swiftshader-review.googlesource.com/5053
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 4 Apr 2016 20:14:58 +0000 (16:14 -0400)]
Transform Feedback buffer locking utility functions
Similarly to what had been done for uniform buffers,
transform feedback buffers require locking/unlocking
functions so that the Renderer can access these resources.
Change-Id: I909ccda4f30534290ebd4a575c082b5475786080
Reviewed-on: https://swiftshader-review.googlesource.com/5041
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 5 Apr 2016 14:51:45 +0000 (10:51 -0400)]
Fix scaling of float color to RGB565.
The scaling factors ensure that the components are rounded correctly even after
alpha blending, which may multiply colors by colors.
Bug
24332884
Change-Id: Ib75602e89996b2fd1a319a132a681295fb2a18a6
Reviewed-on: https://swiftshader-review.googlesource.com/5048
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Mon, 4 Apr 2016 21:04:58 +0000 (17:04 -0400)]
Perform texture coordinate projection at shader assembly level.
Change-Id: Ia94eb950d8d3ec4562f9f2e57d8d7ba27a41d16c
Reviewed-on: https://swiftshader-review.googlesource.com/5044
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Mon, 4 Apr 2016 15:13:24 +0000 (11:13 -0400)]
Refactor sampler LOD calculation method into an enum.
Change-Id: I0beed96cd68608ce07aec0b11f14d6f61e67e53d
Reviewed-on: https://swiftshader-review.googlesource.com/5034
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 5 Apr 2016 00:09:47 +0000 (20:09 -0400)]
Use a regular STL map instead of unordered_map.
Older branches of Android don't support std::unordered_map.
Bug
28006371
Change-Id: I162249db3b7ee9537c7143768c6c1ec216392cba
Reviewed-on: https://swiftshader-review.googlesource.com/5045
Reviewed-by: Bo Hu <bohu@google.com>
Tested-by: Nicolas Capens <capn@google.com>
(cherry picked from commit
db4fee2752c3b440933fd89078e35b3781c211ce)
Reviewed-on: https://swiftshader-review.googlesource.com/5047
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 4 Feb 2016 16:53:16 +0000 (11:53 -0500)]
New uniform block related utility functions
This cl adds 2 new utility function and adds one use of
these in the argument() function.
- getBlockId() finds a block by name and returns its ID
- getTypedMemberInfo() finds which block member matches
a certain register index and returns the block member's
packing information and type. If the register falls
within a block member (as a sub-register of a matrix or
an array), the base offset of the block member is
returned, along with the register index, which will then
be used within the argument() function to compute the
final parameter index.
Change-Id: Ic0edcb3e6772cdb854301e3d0b400775e7ee72c0
Reviewed-on: https://swiftshader-review.googlesource.com/4682
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Fri, 1 Apr 2016 19:01:36 +0000 (15:01 -0400)]
Fix performing dynamic component writes on vectors only.
Change-Id: Ia204b708239ae51022f163053e4d054e617695b9
Reviewed-on: https://swiftshader-review.googlesource.com/5031
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Fri, 1 Apr 2016 17:30:37 +0000 (13:30 -0400)]
Fix scalar times matrix.
Change-Id: I9b46031f57b0cf49428e295b06702099ffef7f01
Reviewed-on: https://swiftshader-review.googlesource.com/5030
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Fri, 1 Apr 2016 15:00:13 +0000 (11:00 -0400)]
Fix short-circuiting in preprocessor.
The 2nd operand in a logical and ('&&') operation is evaluated if and only if
the 1st operand evaluates to non-zero. The 2nd operand in a logical or ('||')
operation is evaluated if and only if the 1st operand evaluates to zero.
If an operand is not evaluated, the presence of undefined identifiers in the
operand will not cause an error.
Integer overflow in short-circuited expressions are still and error because
it is part of lexical analysis.
Change-Id: I6ff5e0e9874551d2e40ab4e4ad34dc36cfa703e5
Reviewed-on: https://swiftshader-review.googlesource.com/5020
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 29 Mar 2016 21:27:04 +0000 (17:27 -0400)]
Fix treating undefined preprocessor identifiers as error.
Change-Id: Ifa9db4ab541d9421dddfe6b09571d8b5d38a479d
Reviewed-on: https://swiftshader-review.googlesource.com/5011
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 29 Mar 2016 03:21:31 +0000 (23:21 -0400)]
Use namespaces for context owned objects.
Bug
19219444
Change-Id: I9606dfb30693a15a06896d83888022ccbaa8db2e
Reviewed-on: https://swiftshader-review.googlesource.com/5010
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 23 Mar 2016 20:50:41 +0000 (16:50 -0400)]
Use a shared namespace for shader and program objects.
Bug
19219444
Change-Id: I5eb797eed31ab233866e5c23d83298d3c57091a9
Reviewed-on: https://swiftshader-review.googlesource.com/4989
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 23 Mar 2016 06:08:57 +0000 (02:08 -0400)]
Use the namespace for storing objects.
Bug
19219444
Change-Id: I277d80be47d2057f31559c5058e2f6ea422dacfd
Reviewed-on: https://swiftshader-review.googlesource.com/4987
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 23 Mar 2016 04:26:46 +0000 (00:26 -0400)]
Fix reserving user picked object names.
Bug
19219444
Change-Id: Ic0e3c5a37174917a541452bab9f92738bc766044
Reviewed-on: https://swiftshader-review.googlesource.com/4986
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 23 Mar 2016 03:58:42 +0000 (23:58 -0400)]
Allocate object names into an unordered set.
Bug
19219444
Change-Id: Ic100f0bfe64b1f92f13c4f6a413e30095b7b5a6c
Reviewed-on: https://swiftshader-review.googlesource.com/4985
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 23 Mar 2016 03:26:24 +0000 (23:26 -0400)]
Refactor NameSpace into a template class.
Bug
19219444
Change-Id: Id4b209f491b3a3dde716118309cbc8122feb25d0
Reviewed-on: https://swiftshader-review.googlesource.com/4984
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Thu, 24 Mar 2016 15:51:05 +0000 (11:51 -0400)]
Don't blit to NULL format buffers.
This was causing crashes in Direct3D 9 applications using the "NULL" FOURCC
used as a render target format for rendering to depth only.
Bug
25351344
Change-Id: I69c2e0869f859489321c26dba56b7a80a2ed2f28
Reviewed-on: https://swiftshader-review.googlesource.com/5000
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 23 Mar 2016 20:22:14 +0000 (16:22 -0400)]
Removing superfluous element in semantic array
The semantic was of size 11, but the 11th member, meant for fog,
was never used, so the array was resized to size 10.
Change-Id: I2afbc2bc52981eb1002252cc3fb89c6954314c23
Reviewed-on: https://swiftshader-review.googlesource.com/4988
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 22 Mar 2016 14:44:57 +0000 (10:44 -0400)]
Use the framebuffer object's stencil attachment.
Bug
27460431
Change-Id: Ic030624cc34b31519882e54497457a1b92eaac45
Reviewed-on: https://swiftshader-review.googlesource.com/4981
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Mon, 21 Mar 2016 20:37:44 +0000 (16:37 -0400)]
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>
Nicolas Capens [Mon, 21 Mar 2016 20:59:03 +0000 (16:59 -0400)]
Reduce math function duplication.
Change-Id: If0fe05eff397c8d88753fb2b1a1852722c73602e
Reviewed-on: https://swiftshader-review.googlesource.com/4979
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Mon, 21 Mar 2016 18:27:31 +0000 (14:27 -0400)]
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>
Nicolas Capens [Mon, 21 Mar 2016 18:14:14 +0000 (14:14 -0400)]
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>
Alexis Hetu [Thu, 11 Feb 2016 20:52:49 +0000 (15:52 -0500)]
Added support for more depth types
Added format arguments to DepthBuffer/DepthStencilBuffer
constructors and added existing types to type conversion
functions so that more than one depth/stencil format may
be supported.
Change-Id: Ifd60b896e93a1ba4d05a30f123a1322cdd5254a5
Reviewed-on: https://swiftshader-review.googlesource.com/4766
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 16 Mar 2016 14:31:51 +0000 (10:31 -0400)]
Remove FORMAT_A1R5G5B5 from EGL configs.
This is not a natively supported pixel format, thus causing a performance
penalty for conversion. It is not supported by Nexus 4 or 5. Android has
deprecated both 4444 and 5551 as HAL formats. Also, UNSIGNED_SHORT_5_5_5_1
has the alpha component in the least significant bit, whereas A1R5G5B5 has
alpha as the most significant bit.
Bug
27690616
Change-Id: I350f0e780cd87b8a626e2c8914a65c61dbf63258
Reviewed-on: https://swiftshader-review.googlesource.com/4960
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Fri, 18 Mar 2016 19:00:09 +0000 (15:00 -0400)]
32-bit integer vertex attribute
Added 32-bit signed and unsigned vertex attribute
Change-Id: Ibbf9c035294584db71713ae7aeca36b32a8564c0
Reviewed-on: https://swiftshader-review.googlesource.com/4974
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Fri, 18 Mar 2016 14:56:08 +0000 (10:56 -0400)]
Fixed some unary operators
There were a few issues in unary operators:
- Many were not compiling because the promote function had not
been adjusted to take the new builtin functions into account
- abs and sign had not been implemented for int
- For the integer abs version, used pabsd. Removed the extra
argument, which seemed unnecessary (abs should have 1 input,
1 output, AFAIK).
Change-Id: If02c5040438e8c45c99fc7b3c55107448c85cf58
Reviewed-on: https://swiftshader-review.googlesource.com/4970
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 9 Mar 2016 15:09:28 +0000 (10:09 -0500)]
Add the OGLESBasicTnL sample for Linux.
Change-Id: I0c0a9bc99e8cf9ea92919c77ef6c05b1439f40da
Reviewed-on: https://swiftshader-review.googlesource.com/4941
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 10 Feb 2016 02:17:32 +0000 (21:17 -0500)]
Fix jb-mr1-gce-dev build.
Change-Id: Iec28db332fe328603a68c3073403bfbe6067bf44
Reviewed-on: https://swiftshader-review.googlesource.com/4735
Reviewed-by: Greg Hartman <ghartman@google.com>
Tested-by: Greg Hartman <ghartman@google.com>
(cherry picked from commit
5d0bad6eea31ee25437877c11e91c1b39be07030)
Reviewed-on: https://swiftshader-review.googlesource.com/4734
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Thu, 10 Mar 2016 05:56:16 +0000 (00:56 -0500)]
Fix draw race condition regression.
Change-Id: Idcf7c19c2467edf941a8a426078b6f7d7779ab12
Reviewed-on: https://swiftshader-review.googlesource.com/4943
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 9 Mar 2016 04:14:14 +0000 (23:14 -0500)]
Disable SIGXCPU signal handling by LLVM.
SIGXCPU is used by Mono, the C# framework used by the Unity game engine.
LLVM does not make any setrlimit(RLIMIT_CPU) calls, so when the SIGXCPU
signal is raised it is not up to LLVM to decide how to handle it.
Bug
23017372
Change-Id: I292b0eac527c5efd66022e6f75bbcb68879a30a4
Reviewed-on: https://swiftshader-review.googlesource.com/4940
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 2 Mar 2016 20:59:51 +0000 (15:59 -0500)]
Transform feedback query implementation
This is a first implementation of the transform feedback
primitives written query.
It passes available related dEQP tests (more tests will be
available when transform feedback is fully implemented).
Change-Id: Iaee97e3e2e853174b7f22836f72dabede1ed04c1
Reviewed-on: https://swiftshader-review.googlesource.com/4912
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 22 Feb 2016 16:42:39 +0000 (11:42 -0500)]
Rasterizer discard implementation
Implemented rasterizer discard by not using the SetupRoutine
and always returning 0 when rasterizer discard is enabled.
Also guarded all clear calls with a check for rasterizer
discard. Passes all rasterizer discard related dEQP tests.
Change-Id: I1e5c107e3dba550f7a5b01eb302ff51bdac303dc
Reviewed-on: https://swiftshader-review.googlesource.com/4876
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Daniel Kenji Toyama [Mon, 7 Mar 2016 20:44:24 +0000 (15:44 -0500)]
Add missing operation.
Bug
27227050
Change-Id: Id8b6357f25888801dec9bbedc5855faa58def62d
Reviewed-on: https://swiftshader-review.googlesource.com/4920
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Daniel Toyama <kenjitoyama@google.com>
Alexis Hetu [Wed, 2 Mar 2016 22:24:04 +0000 (17:24 -0500)]
Fixed color clear for non multisampled rendertargets
Bug
27454381
Change-Id: Ie59adfa5e5faf08a09427c993775e7d2892d311b
Reviewed-on: https://swiftshader-review.googlesource.com/4913
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 1 Mar 2016 16:37:10 +0000 (11:37 -0500)]
Fix Android emulator library loading on Windows.
Change-Id: I1eb8764c622ffd99a5937fe539bf78dc01d77f23
Reviewed-on: https://swiftshader-review.googlesource.com/4911
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 29 Feb 2016 22:37:24 +0000 (17:37 -0500)]
Fixed color clear on multisampled rendertargets
Only the 1st sample's buffer of multisampled buffers was getting
cleared instead of clearing all the samples' buffers, which led
to incorrect results. Added a loop to fix the behavior.
Change-Id: If22ebf2df61ae6afbc4c2975a9baee3c18a2492b
Reviewed-on: https://swiftshader-review.googlesource.com/4910
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Fri, 26 Feb 2016 04:58:33 +0000 (23:58 -0500)]
Correct reciprocal approximation for power-of-two values.
Intel's reciprocal approximation instruction is not exact for power-of-two
values. It provides 12 bits of mantissa precision and keeps a balance between
positive and negative errors, but the reciprocal of 2^x is not 2^-x. This
affects conformance tests which expect varyings not to be affected by the
perspective division. Correct for this by multiplying by the inverse.
Bug
27165393
Change-Id: Ie52ec511a14a4f447adc47ce9c875bbad03cd274
Reviewed-on: https://swiftshader-review.googlesource.com/4903
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 24 Feb 2016 21:46:13 +0000 (16:46 -0500)]
Parser cleanup
Ported some changes from Angle. Added 4 new functions to
ParserHelper to remove some code from glslang.y. Added
some extra checks regarding qualifiers and precision.
Change-Id: I2856a764749bef0df500891eb4c003211e634673
Reviewed-on: https://swiftshader-review.googlesource.com/4900
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Thu, 25 Feb 2016 14:45:24 +0000 (09:45 -0500)]
Fix evaluating empty loop condition to true.
Bug
27351438
Change-Id: If15f0f91931f34af6e78ad773036b91ff5d57d01
Reviewed-on: https://swiftshader-review.googlesource.com/4902
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 25 Feb 2016 14:41:50 +0000 (09:41 -0500)]
Fixed FenceSync object ref count
FenceSync objects are ref counted objects, so the are deleted
using the release() method. This means that they need to be
refed at creation (since we only store the pointer inside the
map), otherwise we'll hit the assert at deletion.
FenceSync objects are currently only ever refed once (at creation)
and unrefed once (at deletion), but are not fully implemented yet.
Change-Id: Ie693ace8895b6140ae96f9325d5c48951c7e9730
Reviewed-on: https://swiftshader-review.googlesource.com/4901
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Greg Hartman [Wed, 24 Feb 2016 04:08:48 +0000 (20:08 -0800)]
Remove unneeded libraries
Change-Id: I827b663c9e3018162b192f267fc038ada4b5ac36
Reviewed-on: https://swiftshader-review.googlesource.com/4879
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Mon, 15 Feb 2016 15:31:49 +0000 (10:31 -0500)]
Implement support for separate minification/magnification filters.
Bug
22373253
Change-Id: Iaa30a341e5eaa58c2ef531fce503631828c5ee9d
Reviewed-on: https://swiftshader-review.googlesource.com/4757
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Tue, 23 Feb 2016 13:06:33 +0000 (08:06 -0500)]
Fixed Android build failure
Added missing .c_str() to convert the string object
into a character string.
Change-Id: I3810f67a2462f7717fdec61679e09a191b043adf
Reviewed-on: https://swiftshader-review.googlesource.com/4878
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 22 Feb 2016 20:58:16 +0000 (15:58 -0500)]
Fixed GLES3.0 attribute locations
Previously, it was allowed for multiple attributes to share a
location or overlap, but in ES3.0, it should cause a linking error.
Passes WebGL conformance tests.
Change-Id: I1c65b0cb31a04680a25ac54d20f6ee0d869251b9
Reviewed-on: https://swiftshader-review.googlesource.com/4877
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 11 Feb 2016 20:26:40 +0000 (15:26 -0500)]
Default framebuffer type fix
In OpenGL ES 3.0, the default framebuffer should use
GL_FRAMEBUFFER_DEFAULT instead of GL_RENDERBUFFER for
default buffer. I also added the Framebuffer::IsRenderbuffer()
utility function to make the transition easier.
Change-Id: I041e610738a4a656555ae7fa7ba41ba68b1fe9ea
Reviewed-on: https://swiftshader-review.googlesource.com/4763
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 8 Feb 2016 16:08:03 +0000 (11:08 -0500)]
Packing fix
Unified and fixed packing and unpacking computations.
Change-Id: I1ea2bcf28945a9f105152a6836f11bcb2859750c
Reviewed-on: https://swiftshader-review.googlesource.com/4715
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Thu, 11 Feb 2016 20:41:27 +0000 (15:41 -0500)]
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>
Alexis Hetu [Wed, 10 Feb 2016 18:26:41 +0000 (13:26 -0500)]
Fixed 2D Array texture binding query
The 2D Array texture binding query was stll using
TEXTURE_3D instead of using TEXTURE_2D_ARRAY.
Change-Id: Ib55007995c336e72aaae7fd62918f232a5c1c3fc
Reviewed-on: https://swiftshader-review.googlesource.com/4744
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 18:11:41 +0000 (13:11 -0500)]
Defined uniform block related constants
A few numbers didn't match between the default value entered
in Context.cpp and the constants from Config.hpp. A few default
values were also erroneously larger than required. Constants were
centralized in Config.hpp to solve the issue.
Change-Id: I60e5d93c43ce61e125c261bdf07ce50e7130a296
Reviewed-on: https://swiftshader-review.googlesource.com/4742
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Fri, 12 Feb 2016 22:33:21 +0000 (17:33 -0500)]
Fix disallowing binding to the default framebuffer.
Bug
27166315
Change-Id: Ia9774e6560b326ca963830c53e030487c239164a
Reviewed-on: https://swiftshader-review.googlesource.com/4770
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Fri, 12 Feb 2016 16:31:14 +0000 (11:31 -0500)]
Fix multilib module path.
Bug
27157109
Change-Id: Ie477455d0b59a8432224f3956e2ba7a1140182af
Reviewed-on: https://swiftshader-review.googlesource.com/4767
Reviewed-by: Greg Hartman <ghartman@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 18:58:57 +0000 (13:58 -0500)]
Fixed detaching a buffer
- Quite a few buffers weren't being checked properly when a buffer
was getting detached from the current context.
- Only current objects (TransformFeedback, VertexArray) should be
affected by this.
Change-Id: I621c9fa45a951db5634616884cf57d5cb21d9bda
Reviewed-on: https://swiftshader-review.googlesource.com/4748
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Mon, 8 Feb 2016 16:21:16 +0000 (11:21 -0500)]
Added 32 bit integer output types
As long as there's no floating point arithmetic, 32 bit integer
types are computationally equivalent to 32 bit floating point.
Change-Id: I5ab19da440f52617a9bc64dff6fcaf8eff796aeb
Reviewed-on: https://swiftshader-review.googlesource.com/4717
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 18:17:20 +0000 (13:17 -0500)]
Fixed mask related state queries
Mask queries could return negative values when only positive
values are accepted, so a clamp was added to prevent returning
negative values.
Change-Id: Ib151573fff54604567b83736163b8fe748c749f8
Reviewed-on: https://swiftshader-review.googlesource.com/4743
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 19:15:59 +0000 (14:15 -0500)]
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>
Alexis Hetu [Wed, 10 Feb 2016 18:41:00 +0000 (13:41 -0500)]
Fixed read buffer and draw buffers
Specifying a read buffer or draw buffers was set on the context
instead of being set on the Framebuffer object, which led to
multiple Framebuffer objects wrongly sharing this state.
Change-Id: I9d137c52f50e58a48b95f7ed9a44b4dad275e710
Reviewed-on: https://swiftshader-review.googlesource.com/4745
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 18:53:07 +0000 (13:53 -0500)]
Implemented missing Transform Feedback queries
Added missing implementations for binding/start/size
related queries for TransformFeedback objects.
Change-Id: Iebfebdc840764755a74d4a3753f72eceb1e6c86e
Reviewed-on: https://swiftshader-review.googlesource.com/4747
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 19:39:52 +0000 (14:39 -0500)]
Added version query
Implemented version query and removed a few unnecessary
UNIMPLEMENTED) calls.
Change-Id: I29bb53a8f8083a1b6fb091916dd156f47aac920c
Reviewed-on: https://swiftshader-review.googlesource.com/4754
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 18:44:47 +0000 (13:44 -0500)]
Implemented GL_SAMPLER_BINDING query
Sampler objects already exist, only the query was missing.
Change-Id: Iea4a65ee4af149a33b262eba4fc0d6256775d1e1
Reviewed-on: https://swiftshader-review.googlesource.com/4746
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 19:32:34 +0000 (14:32 -0500)]
Removed some unnecessary instructions from programs
Removed a few unnecessary/bad instructions from PixelProgram and
VertexProgram. Also added the proper implementation for printing out
a shader instruction that includes indexing an array with a uniform.
Change-Id: Icd37dd4f70419874bb65c54438409b8b9c3ee836
Reviewed-on: https://swiftshader-review.googlesource.com/4753
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 19:10:55 +0000 (14:10 -0500)]
Added uniform buffer queries
Implemented binding/size/start related queries for uniform buffers.
Change-Id: I9d36c92201a7f0df86b1d882ca6d9f04b372bad6
Reviewed-on: https://swiftshader-review.googlesource.com/4750
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 19:25:31 +0000 (14:25 -0500)]
Fixed internal format queries
A few things were missing in internal format queries
- GL_RGB and GL_RGBA are renderable formats
- Integer types have no multisampling
- If bufSize is 0, we should not write to the params output
Change-Id: If6ba2f28b368e780eca8e89ef033deacf9cc523b
Reviewed-on: https://swiftshader-review.googlesource.com/4752
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Wed, 10 Feb 2016 19:04:46 +0000 (14:04 -0500)]
Fixed texture storage types
Added/fixed missing/bad storage texture types.
Change-Id: I0f489fbd21569114fe30d7291fb718de09cd8974
Reviewed-on: https://swiftshader-review.googlesource.com/4749
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 10 Feb 2016 04:00:21 +0000 (23:00 -0500)]
Fix compile warnings.
Change-Id: I95aff944b1d38c297b3ece475717db4c77b3274d
Reviewed-on: https://swiftshader-review.googlesource.com/4736
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Mon, 8 Feb 2016 20:13:57 +0000 (15:13 -0500)]
Fix attempting to load libX11 when rendering headless.
Bug
26776258
Change-Id: I326e76d2650b3992835d74baea159b13f14b2e3e
Reviewed-on: https://swiftshader-review.googlesource.com/4720
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Wed, 10 Feb 2016 00:42:03 +0000 (19:42 -0500)]
Fix Android master build.
OpenGL ES 3.0 entry functions are exported in the exports.map version script,
but the source file defining them was not being compiled (ES3 support is still
disabled).
Change-Id: I5e42082304beb2b37de2bcc7ffcf3b2fc65ecc7d
Reviewed-on: https://swiftshader-review.googlesource.com/4732
Reviewed-by: Keun Soo Yim <yim@google.com>
Reviewed-by: Greg Hartman <ghartman@google.com>
Tested-by: Keun Soo Yim <yim@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Tue, 9 Feb 2016 13:57:41 +0000 (08:57 -0500)]
Disable LLVM's use of __DATE__ and __TIME__ macros.
Timestamp macros make the build unreproducible. This is of particular concern
to Android, but since LLVM only uses them for command line operations which
we don't need at all, they can be disabled on all platforms.
Bug
27079084
Change-Id: I2c4c3dcd06feb3a64936e70ca1535f5a12816e95
Reviewed-on: https://swiftshader-review.googlesource.com/4730
Reviewed-by: Keun Soo Yim <yim@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Nicolas Capens [Mon, 8 Feb 2016 16:30:56 +0000 (11:30 -0500)]
Refactor texture coordinate addressing.
Unify address() and addressW() by introducing a new addressing mode.
Change-Id: I09f9cbbe7800cfd5ef737322d680327aeddd27f1
Reviewed-on: https://swiftshader-review.googlesource.com/4714
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Alexis Hetu [Fri, 5 Feb 2016 02:15:03 +0000 (21:15 -0500)]
Fix array texture LOD computation.
2D array textures use 2D LOD calculations, not 3D.
Change-Id: I0ce834bc4afb63dfeba3d9662105ffdaa07028da
Reviewed-on: https://swiftshader-review.googlesource.com/4716
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>