History log of /external/swiftshader/src/Shader/VertexProgram.hpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c0632c9470e2812d3f12e6462d07af4760f3d078 02-Mar-2018 Alexis Hetu <sugoi@google.com> Added support for sampler2DRect in ESSL3

Being able to sample from sampler2DRect using the "texture" function is required for Chromium on Mac.

Change-Id: Iea8970aaec29734a251bcfc19a03223d0ebfbc7e
Reviewed-on: https://swiftshader-review.googlesource.com/17572
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
4676862e987be2c05ca2825783f2f54cf2f29eb7 17-Jan-2018 Alexis Hetu <sugoi@google.com> Texture Rectangle implementation

This adds support for GL_ARB_texture_rectangle, as it is used in Chromium.
This is required in order to use EGL/GLES on MacOS using IOSurface,
in order to be able to run Chromium on top of SwiftShader on MacOS.

Change-Id: I3c0b6a137892583bbfbc68149874d5bec3026b4a
Reviewed-on: https://swiftshader-review.googlesource.com/16368
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
6d12331ad5a27e85429abf33d54d6576546fff60 08-Jan-2018 Nicolas Capens <capn@google.com> Fix break statement.

The break 'depth' was used to indicate the number of if/else execution
enable mask's stack levels we need to discard when jumping from a break
statement to its enclosing switch or loop. However, each switch and
loop resets this depth at the end, which isn't correct for nested loops
and/or switches (note that switches contain if/else statements, and
loops use the same 'enable' masks as if/else).

This can be fixed either by using a stack to keep track of the break
depths of nested switch/loop statements, or by simply not jumping
directly from the break statement to the end of it's enclosing switch
or loop. The latter fix was chosen for this change, which assumes that
that it's uncommon for all vector lanes to become disabled at the break
statement and skip many instructions. An important exception to this is
breaking out of an infinite or long-running loop, but this is handled
by checking the break enable mask as part of the loop condition.

Change-Id: I57d2e03941e855faefd997442931ff8619eca73f
Reviewed-on: https://swiftshader-review.googlesource.com/15968
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
a0b5783f31ffec2eef21548ce04cbc447d22148c 07-Nov-2017 Nicolas Capens <capn@google.com> Pass the sampling lod/bias as a separate parameter.

This is necessary for cube or 2D array shadow texture sampling
functions which need the fourth texture coordinate component for
depth comparison while also taking a lod or bias parameter.

Change-Id: I1e1399f134e22cecaff97a224df2c13c57ba3a40
Reviewed-on: https://swiftshader-review.googlesource.com/13551
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
89a218b476e290a0e42e3fd23d913333ec0e5847 07-Nov-2017 Nicolas Capens <capn@google.com> Refactor sampling functions to use a return value.

Change-Id: Ib62f310abecbc4cdaf6e9300791600f25af0eaf3
Reviewed-on: https://swiftshader-review.googlesource.com/13550
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
de9034496feb787ccf6680b83c56479b2eb2e4ce 07-Nov-2017 Nicolas Capens <capn@google.com> Create SamplerCore on demand.

Previously we dynamically allocated an array of SamplerCores. This
isn't necessary and we can just create one as a temporary object where
used. This has the added advantage that we could have Reactor variables
as class members and keep them short-lived.

Change-Id: Ifb2e6edbf275aa793bd7880bd35384e16000007d
Reviewed-on: https://swiftshader-review.googlesource.com/13548
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
708c24b3cd03b68aa98b29a9099d6a9ce96eca16 26-Oct-2017 Nicolas Capens <capn@google.com> Use more explicit include paths.

This helps clarify dependencies and simplifies include paths.

Bug swiftshader:86

Change-Id: I564ee420bb9029fa6428e49b63a86d633301bec2
Reviewed-on: https://swiftshader-review.googlesource.com/13288
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
877ddfc51400030afd2804a23b132ed87a2f8d2f 25-Jul-2017 Alexis Hetu <sugoi@google.com> gl_VertexID implementation

This cl implements support for gl_VertexID.

Passes the functional.shaders.builtin_variable.vertex_id test.

Change-Id: I5550e3ecba30e29f1e38ace608d730833a1e9598
Reviewed-on: https://swiftshader-review.googlesource.com/10958
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
c8b67a48e64ca05fbecfcd9990d16e1cb68a9578 25-Sep-2016 Nicolas Capens <capn@google.com> Abstract llvm::BasicBlock usage.

Bug swiftshader:10

Change-Id: Ib45d459aa4f68e572b1deaa03e0aaf83002b7881
Reviewed-on: https://swiftshader-review.googlesource.com/7275
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/Shader/VertexProgram.hpp
a3c16e400836236a8c6dacd0e504f3bbc0d6b886 15-Jun-2016 Nicolas Capens <capn@google.com> Combine sampler method and option into a structure.

Change-Id: Ie3caecf275ffb51fbd512560cb66fcf2a32b3bbe
Reviewed-on: https://swiftshader-review.googlesource.com/5595
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Meng-Lin Wu <marleymoo@google.com>
Tested-by: Meng-Lin Wu <marleymoo@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
9d62c486034d107ed778e061760be668ba47e026 14-Jun-2016 Meng-Lin Wu <marleymoo@google.com> Pack texelFetch LOD as sampling coordinate's w component.

One less argument is emitted.

Vertex/PixelProgram sampleTexture function signature simplified.

Change-Id: I7aef3eb100ccb51a8bd9d5fd600c73b4843d30d9
Reviewed-on: https://swiftshader-review.googlesource.com/5600
Tested-by: Meng-Lin Wu <marleymoo@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
2fce5821757ec686a837035cf0decba9039fdfb0 07-Jun-2016 Meng-Lin Wu <marleymoo@google.com> texelFetch implementation

Passes all texelFetch and texelFetchOffset tests in dEQP.

Change-Id: Ic212d326d1c062f1947696e6963fef300b7737f1
Reviewed-on: https://swiftshader-review.googlesource.com/5512
Tested-by: Meng-Lin Wu <marleymoo@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
2337a192aa163b1076ba768e414c5fe27f1a9143 01-Jun-2016 Meng-Lin Wu <marleymoo@google.com> texoffset implementation

Related deqp tests:
textureoffset
textureprojoffset
texturelodoffset
textureprojlodoffset
texturegradoffset
textureprojgradoffset

Change-Id: Id83abe3f24ec789345a9ce7dcf6e146e2410da3b
Reviewed-on: https://swiftshader-review.googlesource.com/5451
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
234c9a9e3fb0f39c2eed8e5cf60de744417e8a09 25-May-2016 Meng-Lin Wu <marleymoo@google.com> texgrad implementation

Related deqp tests: texturegrad, textureprojgrad

Change-Id: I17529ed426c29bc1dec48fb7ac939c29caeeaf07
Reviewed-on: https://swiftshader-review.googlesource.com/5420
Tested-by: Meng-Lin Wu <marleymoo@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
9aa83a93a06e1cf09547716d92f3ca82010dcf43 02-May-2016 Alexis Hetu <sugoi@google.com> Switch implementation

Implemented switch/case for glsl in OpenGL ES 3.0.
For simplicity, it is implemented as a loop without a condition,
so break statements work properly like so:

begin switch
if(...) // 1st case
...
else if(...) // other cases
...
else // default case
...
end switch // Anchor point for break statements

All related dEQP tests pass, except 7 tests where vertex shaders
contain a switch or a loop within another switch. These 7 failures
have only about 5% of bad pixel and seem to be related to an issue
with int(floor(...)), since the equivalent tests inside the fragment
shader pass.

KNOWN ISSUE: If a switch is within a loop and one of the cases
contains a "continue" statement, this will not be
handled correctly at the moment. There are no dEQP
tests for this at the moment, AFAIK.

Change-Id: I3ba34ab06a759d07e8520f6a87d75036a5cdaef5
Reviewed-on: https://swiftshader-review.googlesource.com/5272
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
0bac285a78df6a6d7a6b68784748b92805420ffb 07-May-2016 Nicolas Capens <capn@google.com> Apply the Apache 2.0 license.

Change-Id: I4a7aeefedcd2d891093520d5a10ebefadcddb5be
Reviewed-on: https://swiftshader-review.googlesource.com/5320
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
c2534f4bc37baf48d9910d3691352ff83e3bea49 04-Apr-2016 Nicolas Capens <capn@google.com> 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>
/external/swiftshader/src/Shader/VertexProgram.hpp
2c2a7b29cd53cb7b06ef1b1e2177a8c90e6e0128 27-Oct-2015 Alexis Hetu <sugoi@google.com> Passing uniform buffers to the vertex/pixel programs

This cl contains the necessary changes to make uniform buffers
usable in shaders. A few things to note:
- Uniform buffers can be set, but nothing will attempt to access
them in this cl.
- While the 'index' of uniforms is expressed in terms of registers,
uniform buffer 'index' is expressed in bytes in both PixelProgram
and VertexProgram. This is necessary because of packing which can
potentially put some variables in the middle of registers.
Technically, std140 always packs variables in multiples of byte4,
but other future layouts may not, so using bytes as the unit is
more future proof.
- The above mentioned 'index' will have to be computed in OutputASM
and extra operations will need to be added (to fetch a row from a
row major matrix, for example).

Change-Id: I636cc4bdc6fe90d6f5697e735f4288f48d18a75b
Reviewed-on: https://swiftshader-review.googlesource.com/4151
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
7551ac6868ec1dc3965a00ff0a2003adbb2018d5 20-Jan-2016 Nicolas Capens <capn@google.com> Make vertex registers members of routine classes.

Bug 22652760

Change-Id: I698ce910ee4302178d7235fa316aaa2b268e71a8
Reviewed-on: https://swiftshader-review.googlesource.com/4560
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
b4fb367887d4f257b20be509b8abd3ccb3a23a5a 15-Jan-2016 Nicolas Capens <capn@google.com> Eliminate redundant register set argument passing.

Bug 22652760

Change-Id: If6bf124c3218847ecc4af0ae16102452a6b344d9
Reviewed-on: https://swiftshader-review.googlesource.com/4558
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/Shader/VertexProgram.hpp
5d96188b9c35bf896c25755e4eb97d09dcf3bed7 02-Jan-2016 Nicolas Capens <capn@google.com> Fix signed/unsigned comparison warnings.

Bug 15387371

Change-Id: Id4c9b54c5c0b4115479b6710c4d8c91d34e5c002
Reviewed-on: https://swiftshader-review.googlesource.com/4494
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/Shader/VertexProgram.hpp
25d47fc9eb8e8aaf864fab0d6aa7305d034d807b 22-Oct-2015 Alexis Hetu <sugoi@google.com> Texture function refactoring

To make it easier to branch on the different texture
fetching options, a new TextureFunction class is
introduced here, which performs the string comparisons
and identifies the different options.

I also had to add a 5th argument for textureGradOffset
and textureProjGradOffset.

I added function stubs (with the UNIMPLEMENTED markers)
for all new texture functions.

Change-Id: I58cde91a2bacb0012bdc34ec85b0befa19a85326
Reviewed-on: https://swiftshader-review.googlesource.com/4116
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
9bcb31da0cf95258949da1bb697f3981a70c476b 22-Jul-2015 Alexis Hetu <sugoi@google.com> TextureSize implementation

Initial TextureSize parsing and implementation

Change-Id: I8b9b1808366b1013a5001e2dfa15a26d8471ab6a
Reviewed-on: https://swiftshader-review.googlesource.com/3753
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
af1970ce7685ea66dd02ac462d6f2723d6f6e500 17-Apr-2015 Alexis Hetu <sugoi@google.com> Connecting the dots for some built-in functions

- Completed implementation of round
and hyperbolic trigonometry operations
- Added a few more cases in op to string
functions

Change-Id: Ic09d228de8e4446a66152b70edc6a6bba511288a
Reviewed-on: https://swiftshader-review.googlesource.com/2891
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
0b65c5e3903233839197fd689895ba57b7f61a5b 31-Mar-2015 Alexis Hetu <sugoi@google.com> Replacing numbers by constants

In order to be able to easily modify
values in between OpenGL ES versions,
some constants were added to replace
hardcoded numbers.

Change-Id: Ic35bf8e45341addf5315acaa9ffac01095b8907c
Reviewed-on: https://swiftshader-review.googlesource.com/2761
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/Shader/VertexProgram.hpp
66b8ab22586debccb1f787d4d52b7f042d4ddeb8 06-May-2014 John Bauman <jbauman@google.com> Add SwiftShader dump from Feb 6 2013
/external/swiftshader/src/Shader/VertexProgram.hpp
19bac1e08be200c31efd26f0f5fd144c9b3eefd3 06-May-2014 John Bauman <jbauman@google.com> Update SwiftShader to April code dump.

April code dump from Transgaming. Adds new shader compiler.
/external/swiftshader/src/Shader/VertexProgram.hpp
894018228b0e0bdbd7aa7e8f47d4a9458789ca82 06-May-2014 John Bauman <jbauman@google.com> Add SwiftShader source to repo

Oct 6 code drop from Transgaming
Review URL: https://chromereviews.googleplex.com/3846015
/external/swiftshader/src/Shader/VertexProgram.hpp