OSDN Git Service

android-x86/external-swiftshader.git
8 years agoEnable klp-emu-dev google x86 to build swiftshader libraries
Nicolas Capens [Fri, 5 Feb 2016 15:05:36 +0000 (10:05 -0500)]
Enable klp-emu-dev google x86 to build swiftshader libraries

The name for google image is "google_sdk_x86" on older Android versions.

Change-Id: If1e9cb368284b91787badf329e558af5d0b9042c
Reviewed-on: https://swiftshader-review.googlesource.com/4692
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoCheck for GL object leaks at termination.
Nicolas Capens [Thu, 23 Jul 2015 14:45:28 +0000 (10:45 -0400)]
Check for GL object leaks at termination.

Change-Id: I8215fabe92d11f0f28cae9ffadd8c48a3fbf1f27
Reviewed-on: https://swiftshader-review.googlesource.com/3890
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFixed binding offsets for uniform and transform feedback buffers
Alexis Hetu [Fri, 22 Jan 2016 22:28:28 +0000 (17:28 -0500)]
Fixed binding offsets for uniform and transform feedback buffers

There was some confusion between buffer mapping and size and offset
buffer binding arguments, which are distinct, but were represented
by the same Buffer class members. Added OffsetBindingPointer to solve
the issue and removed setOffset/setSize from the Buffer class, which
should not have existed in the first place (only the mapRange/unmap
functions should be allowed to modify these values, for now).

Change-Id: Iacecd17cfb90d0a229d9edf62a463c8acf31f07a
Reviewed-on: https://swiftshader-review.googlesource.com/4590
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoUniform block declaration
Alexis Hetu [Mon, 1 Feb 2016 21:51:07 +0000 (16:51 -0500)]
Uniform block declaration

A few aspects of block declaration are improved upon here:
- Block definitions are computed and stored for later use.
  The data stored are the block member types and a map to
  convert from register offsets, based on the internal
  memory layout, to the std140 layout.
- Declaration of block members is possible. When a block
  member is declared prior to the entire block being
  declared, OutputASM::declareUniform() will first declare
  the whole block and return the index of the block member.
  If the block member is part of an already defined block,
  the function declares no new variables and returns the
  block member's register index.

Change-Id: If1368bc8de20a0f86169361d76858c3f3e34bb07
Reviewed-on: https://swiftshader-review.googlesource.com/4632
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoSwiftshader changes for HAL_PIXEL_FORMAT_YCbCr_420_888
Greg Hartman [Tue, 2 Feb 2016 19:22:08 +0000 (11:22 -0800)]
Swiftshader changes for HAL_PIXEL_FORMAT_YCbCr_420_888

Bug: 26822256

Change-Id: I2d974e1170847786369797d8e9b10ba4ad3663e0
Reviewed-on: https://swiftshader-review.googlesource.com/4660
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Greg Hartman <ghartman@google.com>
8 years agoRemoved double argument() calls
Alexis Hetu [Wed, 20 Jan 2016 19:09:20 +0000 (14:09 -0500)]
Removed double argument() calls

Some calls to the argument() function were made twice
because the emit() function didn't know what index to
use for each individual input. I added the function
arguments to the emit() function in order to solve that.

WebGL conformance tests pass.

Change-Id: I548b72cadf7247afd103b6be2ddfeaf39a995025
Reviewed-on: https://swiftshader-review.googlesource.com/4575
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoUniform block related fixes
Alexis Hetu [Mon, 1 Feb 2016 20:26:46 +0000 (15:26 -0500)]
Uniform block related fixes

- The rowMajor qualifier should only be set for matrices
- Shared and std140 layouts are always considered active
- Fixed registerSize() for uniform blocks

Change-Id: Id0ccd4f1f1c3342915643d87e166234e61b83f4f
Reviewed-on: https://swiftshader-review.googlesource.com/4631
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoPassing uniform buffers to the vertex/pixel programs
Alexis Hetu [Tue, 27 Oct 2015 20:12:11 +0000 (16:12 -0400)]
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>
8 years agoUniform buffer array register fix
Alexis Hetu [Mon, 1 Feb 2016 19:54:46 +0000 (14:54 -0500)]
Uniform buffer array register fix

Register indices were only set for the first instance of the array
when the uniform block array was present in both the fragment and
vertex shaders, so this code takes care of the array case.

Change-Id: I8a98470fedcc67bdc5edfd3b852470f5f911d610
Reviewed-on: https://swiftshader-review.googlesource.com/4630
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoImplement glGetPointerv().
Nicolas Capens [Thu, 28 Jan 2016 16:42:36 +0000 (11:42 -0500)]
Implement glGetPointerv().

Bug 26794307

Change-Id: I0aa175f091550d544a33503b602c191353e7a1c5
Reviewed-on: https://swiftshader-review.googlesource.com/4606
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix attribute size queries.
Nicolas Capens [Thu, 28 Jan 2016 15:33:54 +0000 (10:33 -0500)]
Fix attribute size queries.

Bug 26794307

Change-Id: I66a440221435e63574c5da4204a9d2b00ece73f4
Reviewed-on: https://swiftshader-review.googlesource.com/4604
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoDetect all texture sampling shader instructions.
Nicolas Capens [Sat, 16 Jan 2016 04:30:50 +0000 (23:30 -0500)]
Detect all texture sampling shader instructions.

Change-Id: If557db7db89659e6c2b043b21e5712fb34eafd8d
Reviewed-on: https://swiftshader-review.googlesource.com/4561
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoRemove unnecessary friend class declarations.
Nicolas Capens [Mon, 18 Jan 2016 18:42:25 +0000 (13:42 -0500)]
Remove unnecessary friend class declarations.

Change-Id: Ida83136a083642bd6cd651c4cb506723e8ac9a41
Reviewed-on: https://swiftshader-review.googlesource.com/4570
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoMake vertex registers members of routine classes.
Nicolas Capens [Wed, 20 Jan 2016 22:11:53 +0000 (17:11 -0500)]
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>
8 years agoMove loop register usage to relative addressing.
Nicolas Capens [Wed, 20 Jan 2016 22:09:28 +0000 (17:09 -0500)]
Move loop register usage to relative addressing.

Bug 22652760

Change-Id: I50c6935bac91f586953b0dd2abd0d2a859468ee1
Reviewed-on: https://swiftshader-review.googlesource.com/4579
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoMove parameter reading to a prototype constructor.
Nicolas Capens [Fri, 15 Jan 2016 22:35:58 +0000 (17:35 -0500)]
Move parameter reading to a prototype constructor.

Bug 22652760

Change-Id: I317275cd2c15012da3a859735409af07ea9b2923
Reviewed-on: https://swiftshader-review.googlesource.com/4559
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoEliminate redundant register set argument passing.
Nicolas Capens [Fri, 15 Jan 2016 22:02:41 +0000 (17:02 -0500)]
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>
8 years agoDerive VertexRoutine from Function<>.
Nicolas Capens [Fri, 15 Jan 2016 21:54:13 +0000 (16:54 -0500)]
Derive VertexRoutine from Function<>.

Bug 22652760

Change-Id: I48e9e1f3ff677429eff1aea2f80b1e384a537a14
Reviewed-on: https://swiftshader-review.googlesource.com/4557
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix glBindVertexArray() compilation regression.
Nicolas Capens [Fri, 15 Jan 2016 18:40:19 +0000 (13:40 -0500)]
Fix glBindVertexArray() compilation regression.

Change-Id: I7da54053b3be31b4388dd9c0f4d89298e656bee2
Reviewed-on: https://swiftshader-review.googlesource.com/4556
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoRemove unused return value.
Nicolas Capens [Wed, 13 Jan 2016 05:22:02 +0000 (00:22 -0500)]
Remove unused return value.

Change-Id: I99731b6697a4ae92b1d04c8a8d895a0cf19d580c
Reviewed-on: https://swiftshader-review.googlesource.com/4545
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoRemove redundant shader instructions.
Nicolas Capens [Thu, 15 Oct 2015 04:42:20 +0000 (00:42 -0400)]
Remove redundant shader instructions.

Bool to int and int to bool also work for unsigned int.

Change-Id: I31669d8754a718096381609d13c2e9668599efe5
Reviewed-on: https://swiftshader-review.googlesource.com/4070
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix Clang warnings.
Nicolas Capens [Thu, 14 Jan 2016 15:45:55 +0000 (10:45 -0500)]
Fix Clang warnings.

Change-Id: I9630093a14d0c1b2b6dc60ffb5866c7d2eaf4f02
Reviewed-on: https://swiftshader-review.googlesource.com/4552
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix returning an opaque handle for eglGetCurrentDisplay().
Nicolas Capens [Fri, 15 Jan 2016 16:07:43 +0000 (11:07 -0500)]
Fix returning an opaque handle for eglGetCurrentDisplay().

Change-Id: If7524c5245951ed87bcb8caacda2264db0875dad
Reviewed-on: https://swiftshader-review.googlesource.com/4554
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoAdded some uses of FRAGMENT_UNIFORM_VECTORS and VERTEX_UNIFORM_VECTORS
Alexis Hetu [Wed, 13 Jan 2016 19:40:47 +0000 (14:40 -0500)]
Added some uses of FRAGMENT_UNIFORM_VECTORS and VERTEX_UNIFORM_VECTORS

Replaced a few instances of 224 and 256 that were actually used to
represent FRAGMENT_UNIFORM_VECTORS and VERTEX_UNIFORM_VECTORS.

This cl should not change any behavior.

Change-Id: I4b82341f32223fcee559aaf70df2ee83c9936d11
Reviewed-on: https://swiftshader-review.googlesource.com/4547
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoMove parameter reading to routine constructor.
Nicolas Capens [Thu, 14 Jan 2016 18:43:42 +0000 (13:43 -0500)]
Move parameter reading to routine constructor.

Bug 22652760

Change-Id: If2b41c4d3b24f4b8a9d9dd805a9ab3ce724b7726
Reviewed-on: https://swiftshader-review.googlesource.com/4553
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoDerive Rasterizer from Function<>.
Nicolas Capens [Wed, 13 Jan 2016 13:34:30 +0000 (08:34 -0500)]
Derive Rasterizer from Function<>.

Bug 22652760

Change-Id: I1a8ff978fdc7ad795e469218a931523d624e7cde
Reviewed-on: https://swiftshader-review.googlesource.com/4546
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix Clang errors on Linux.
Nicolas Capens [Thu, 14 Jan 2016 15:45:55 +0000 (10:45 -0500)]
Fix Clang errors on Linux.

Change-Id: I8bc812cd6c25a60dc73abc2177e8eb4a3841af21
Reviewed-on: https://swiftshader-review.googlesource.com/4551
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoMake Function arguments type-safe.
Nicolas Capens [Thu, 14 Jan 2016 14:32:35 +0000 (09:32 -0500)]
Make Function arguments type-safe.

Change-Id: I3d4262ea4be0c7b1128b2ca410e985cc6f58c9c9
Reviewed-on: https://swiftshader-review.googlesource.com/1970
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoMake Function variadic and take a function signature.
Nicolas Capens [Thu, 5 Feb 2015 17:36:46 +0000 (12:36 -0500)]
Make Function variadic and take a function signature.

Change-Id: If36ea6e74311f54bb4c2b0bc1b5b7ccd0e97d74b
Reviewed-on: https://swiftshader-review.googlesource.com/4548
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoDisallow assigning to an RValue.
Nicolas Capens [Wed, 4 Feb 2015 05:16:13 +0000 (00:16 -0500)]
Disallow assigning to an RValue.

Change-Id: I539fcaa5b7853ac618f3d27027d3357bc6e620ba
Reviewed-on: https://swiftshader-review.googlesource.com/1960
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoPorted Angle's std140 encoder to SwiftShader
Alexis Hetu [Thu, 7 Jan 2016 21:53:00 +0000 (16:53 -0500)]
Ported Angle's std140 encoder to SwiftShader

Added Angle's std140 encoder to properly compute sizes and
offsets of uniform blocks for the std140 standard. All
layouts currently use std140 ('packed' and 'shared' are
implementation dependent, so we can choose to have them be
the same as std140).

All uniform blocks made of simple types or arrays of simple
types are properly interpreted by this code.

Structs are still TBD.

Change-Id: I191d7f313db5d409715b1101ea70903a7b958726
Reviewed-on: https://swiftshader-review.googlesource.com/4525
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoProgram cleanup
Alexis Hetu [Fri, 8 Jan 2016 19:41:51 +0000 (14:41 -0500)]
Program cleanup

Working on uniforms, I realized that there was a large
amount of code duplication in the applyUniform* functions,
so I create a basic applyUniform() to contain common code
between all these functions, which reduces the size of
Program.cpp by about 275 lines, or about 10% of that file.

Change-Id: I0f013821e1cc8f507bb4d6829b0097fc41420e6d
Reviewed-on: https://swiftshader-review.googlesource.com/4527
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFixed uniform block lookup
Alexis Hetu [Tue, 12 Jan 2016 21:09:29 +0000 (16:09 -0500)]
Fixed uniform block lookup

Blocks are also symbols, so when we have a block,
we have to look for blocks instead of symbols.

Change-Id: I683e646c2c63754a0b27b299dfdbc1d87017fb99
Reviewed-on: https://swiftshader-review.googlesource.com/4542
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFixed uniform block indexing
Alexis Hetu [Tue, 12 Jan 2016 21:13:37 +0000 (16:13 -0500)]
Fixed uniform block indexing

A uniform block's qualifier is generally a uniform, so
we have to change that to a temporary in order to be
able to us it as the result of the indexing operation.

Change-Id: I2f5ba7f966e8eaab314322edfa0483a9f24bfbdb
Reviewed-on: https://swiftshader-review.googlesource.com/4543
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFixed some types utility functions for uniform blocks
Alexis Hetu [Tue, 12 Jan 2016 21:19:22 +0000 (16:19 -0500)]
Fixed some types utility functions for uniform blocks

Uniform blocks can be neither scalars not registers,
so make sure these never return true for uniform blocks.

Change-Id: Ib00afd175e4df92d45fe1aeaca865ea45fc13b0b
Reviewed-on: https://swiftshader-review.googlesource.com/4544
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix signed/unsigned comparison warnings.
Nicolas Capens [Sat, 2 Jan 2016 04:18:14 +0000 (23:18 -0500)]
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>
8 years agoEliminate intermediate primitive type translation.
Nicolas Capens [Sun, 3 Jan 2016 03:01:47 +0000 (22:01 -0500)]
Eliminate intermediate primitive type translation.

Bug 21305111

Change-Id: I3803f274f25a25ec60f0f5cbfc4af0151f39ad04
Reviewed-on: https://swiftshader-review.googlesource.com/4505
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix glReadPixels and glClear memory leaks.
Nicolas Capens [Mon, 11 Jan 2016 15:05:36 +0000 (10:05 -0500)]
Fix glReadPixels and glClear memory leaks.

Bug 26486408

Change-Id: Iec34ee0034695950163e8e40082d1ad7128490f8
Reviewed-on: https://swiftshader-review.googlesource.com/4533
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoAdd ./ to the test app's rpath.
Nicolas Capens [Sat, 9 Jan 2016 18:01:08 +0000 (13:01 -0500)]
Add ./ to the test app's rpath.

Change-Id: If93cfd390846e26348a6f30a85d340d4df57e891
Reviewed-on: https://swiftshader-review.googlesource.com/4532
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix memory leaks.
Nicolas Capens [Sat, 9 Jan 2016 04:33:22 +0000 (23:33 -0500)]
Fix memory leaks.

Change-Id: I668c4295fd13d028fa53f6aa75ac6c6d4c6de44f
Reviewed-on: https://swiftshader-review.googlesource.com/4531
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoAdd suggested braces for subobject initialization.
Nicolas Capens [Sat, 2 Jan 2016 05:00:35 +0000 (00:00 -0500)]
Add suggested braces for subobject initialization.

Bug 15387371

Change-Id: I771b6e9f30669aade18eba8b3749fcb71ae8ef97
Reviewed-on: https://swiftshader-review.googlesource.com/4501
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix tautological expressions.
Nicolas Capens [Fri, 8 Jan 2016 06:30:48 +0000 (01:30 -0500)]
Fix tautological expressions.

Bug 15387371

Change-Id: I01bf5327f205bf646c51c1bb06560448a09f6c4a
Reviewed-on: https://swiftshader-review.googlesource.com/4526
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix LLVM code warnings.
Nicolas Capens [Sat, 2 Jan 2016 04:31:19 +0000 (23:31 -0500)]
Fix LLVM code warnings.

Bug 15387371

Change-Id: Ic5374735e6ca386e871848c34890272c1259c273
Reviewed-on: https://swiftshader-review.googlesource.com/4496
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix operator precedence warnings.
Nicolas Capens [Sat, 2 Jan 2016 05:23:53 +0000 (00:23 -0500)]
Fix operator precedence warnings.

Bug 15387371

Change-Id: I665ee641932d34abb28f150ba036bbbed9fa1431
Reviewed-on: https://swiftshader-review.googlesource.com/4503
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoAdd default switch cases.
Nicolas Capens [Sat, 2 Jan 2016 05:06:41 +0000 (00:06 -0500)]
Add default switch cases.

Bug 15387371

Change-Id: I97644bfd9dbdc1109630199bc897f8b2572d5e83
Reviewed-on: https://swiftshader-review.googlesource.com/4502
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix potentially uninitialized variables.
Nicolas Capens [Sat, 2 Jan 2016 04:47:52 +0000 (23:47 -0500)]
Fix potentially uninitialized variables.

Bug 15387371

Change-Id: Ie0486feeebc6e4bceba148bea69f2d1ee1d1ffd8
Reviewed-on: https://swiftshader-review.googlesource.com/4499
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix macro redefinition warning.
Nicolas Capens [Sat, 2 Jan 2016 04:24:01 +0000 (23:24 -0500)]
Fix macro redefinition warning.

Bug 15387371

Change-Id: I1d9524b15a62a561508a5cc2b76ba0b1e8d37fdc
Reviewed-on: https://swiftshader-review.googlesource.com/4495
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix initialization order warnings.
Nicolas Capens [Sat, 2 Jan 2016 04:17:42 +0000 (23:17 -0500)]
Fix initialization order warnings.

Bug 15387371

Change-Id: I01da3db7d6bb795c46153dbc12fd41478f4b6416
Reviewed-on: https://swiftshader-review.googlesource.com/4493
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix string format specifiers.
Nicolas Capens [Sat, 2 Jan 2016 03:47:44 +0000 (22:47 -0500)]
Fix string format specifiers.

Bug 15387371

Change-Id: I0f86d5ddcef0c2b6fc45164c730eb55f44c5c490
Reviewed-on: https://swiftshader-review.googlesource.com/4492
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoUse empty initializer lists for zeroing structs.
Nicolas Capens [Fri, 1 Jan 2016 06:21:18 +0000 (01:21 -0500)]
Use empty initializer lists for zeroing structs.

This works around an incorrect Clang warning:
https://llvm.org/bugs/show_bug.cgi?id=21689

Bug 15387371

Change-Id: I2460a4f6dd414f518789be1fcc8ce8b205c6a066
Reviewed-on: https://swiftshader-review.googlesource.com/4491
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoStatically allocate one EGL display.
Nicolas Capens [Wed, 6 Jan 2016 22:34:03 +0000 (17:34 -0500)]
Statically allocate one EGL display.

This reduces support to EGL_DEFAULT_DISPLAY or assumes the
native display handle corresponds with the default display.

Bug 24600445

Change-Id: Ieb5d08beceff1cc46557483e1bed159dd9ab1bee
Reviewed-on: https://swiftshader-review.googlesource.com/4520
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFixed matrix4x2 and matrix4x3 uniform arrays
Alexis Hetu [Thu, 7 Jan 2016 21:44:01 +0000 (16:44 -0500)]
Fixed matrix4x2 and matrix4x3 uniform arrays

matrix4x2 and matrix4x3 uniform arrays were broken because
the structure allocated to contain them was of the wrong
dimension, causing subsequent array elements to overwrite
a portion of the previous element.

Change-Id: I8129c7352f5470146994a0a89052a75fcfc4e54f
Reviewed-on: https://swiftshader-review.googlesource.com/4524
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix a few missing EGL error resets.
Nicolas Capens [Thu, 7 Jan 2016 16:02:49 +0000 (11:02 -0500)]
Fix a few missing EGL error resets.

Change-Id: I0f28b08b865f85f212beaa74fa75f3b3620d9836
Reviewed-on: https://swiftshader-review.googlesource.com/4522
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoImplement glDrawTexfOES.
Nicolas Capens [Thu, 7 Jan 2016 16:31:31 +0000 (11:31 -0500)]
Implement glDrawTexfOES.

Bug 26424655

Change-Id: I24f9b17f5768d457b64fc510bf88f392f02759bc
Reviewed-on: https://swiftshader-review.googlesource.com/4523
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoReturn EGL_BAD_ATTRIBUTE for unsupported HAL formats.
Nicolas Capens [Wed, 6 Jan 2016 03:42:34 +0000 (22:42 -0500)]
Return EGL_BAD_ATTRIBUTE for unsupported HAL formats.

As prescribed by the EGL_ANDROID_image_native_buffer extension spec.

Change-Id: Id4213e245d055971bd687f484dbc5efa7958adda
Reviewed-on: https://swiftshader-review.googlesource.com/4518
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix aligned access regression.
Nicolas Capens [Wed, 6 Jan 2016 18:44:09 +0000 (13:44 -0500)]
Fix aligned access regression.

This fixes commit cd0ea23407fb36528388cd6705f0150c0972963e.

Change-Id: I51c82049fa809f303401b6623dbaa947a50d6d62
Reviewed-on: https://swiftshader-review.googlesource.com/4519
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoEliminate duplicate window size query code.
Nicolas Capens [Wed, 30 Dec 2015 16:42:43 +0000 (11:42 -0500)]
Eliminate duplicate window size query code.

Change-Id: Ibe95427c6b626c308dff41996f636a7dc88f792c
Reviewed-on: https://swiftshader-review.googlesource.com/4444
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix using floating-point exp2()
Nicolas Capens [Thu, 24 Dec 2015 06:39:43 +0000 (01:39 -0500)]
Fix using floating-point exp2()

Change-Id: I2dc3942032458093bb132d7b86c34f05e1bb8137
Reviewed-on: https://swiftshader-review.googlesource.com/4443
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoRegenerate parsers using flex 2.6 & bison 3.0.4.
Nicolas Capens [Tue, 5 Jan 2016 16:29:13 +0000 (11:29 -0500)]
Regenerate parsers using flex 2.6 & bison 3.0.4.

This removes uses of the "register" keyword,
which is deprecated from C++11.

Change-Id: If302563117f7d978b6f65312fc08e447905e0cde
Reviewed-on: https://swiftshader-review.googlesource.com/4513
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix XRGB surface to RGB texture binding.
Nicolas Capens [Tue, 5 Jan 2016 19:06:13 +0000 (14:06 -0500)]
Fix XRGB surface to RGB texture binding.

Change-Id: I6a1dd24d997c64596dc096893338b7f471e64896
Reviewed-on: https://swiftshader-review.googlesource.com/4516
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix basing aligned access on stride instead of width.
Nicolas Capens [Tue, 5 Jan 2016 18:53:42 +0000 (13:53 -0500)]
Fix basing aligned access on stride instead of width.

Change-Id: I8c3600e9bce3e647ccbeb5590744530d43769ea2
Reviewed-on: https://swiftshader-review.googlesource.com/4515
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoLog use of RGB_888, which is currently not supported natively.
Nicolas Capens [Tue, 5 Jan 2016 21:26:21 +0000 (16:26 -0500)]
Log use of RGB_888, which is currently not supported natively.

Change-Id: Ia1c7bf07e296c4f12334061f1a8b6ba695fea937
Reviewed-on: https://swiftshader-review.googlesource.com/4035
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoOptimize Int2 construction.
Nicolas Capens [Tue, 5 Jan 2016 05:08:45 +0000 (00:08 -0500)]
Optimize Int2 construction.

Change-Id: Ibab854164a45c998976e65b8bfec80a8a688461b
Reviewed-on: https://swiftshader-review.googlesource.com/4511
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoReplace Concatenate with vector constructors.
Nicolas Capens [Tue, 5 Jan 2016 17:03:47 +0000 (12:03 -0500)]
Replace Concatenate with vector constructors.

Change-Id: Ic397b07800c423cfa2648b082ad8606c09223398
Reviewed-on: https://swiftshader-review.googlesource.com/4514
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoImplement support for MMX movd instruction generation.
Nicolas Capens [Tue, 5 Jan 2016 04:03:59 +0000 (23:03 -0500)]
Implement support for MMX movd instruction generation.

Based on http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20150202/257325.html
and http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20121029/154639.html

Change-Id: I098654245c06a975b8b0bc66e0feb5acea0e9c89
Reviewed-on: https://swiftshader-review.googlesource.com/4510
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix format/type conversion for readPixels.
Nicolas Capens [Thu, 31 Dec 2015 16:30:40 +0000 (11:30 -0500)]
Fix format/type conversion for readPixels.

Change-Id: I5d9d8247fc847e987cbe7d62f7e8641ac4225f50
Reviewed-on: https://swiftshader-review.googlesource.com/4448
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFix checking for invalid query enums.
Nicolas Capens [Mon, 4 Jan 2016 18:13:47 +0000 (13:13 -0500)]
Fix checking for invalid query enums.

Change-Id: I4cca0f1cf0cc2cd95502769d9653939d6999b8e1
Reviewed-on: https://swiftshader-review.googlesource.com/4507
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoEliminate AndroidCommon header and source.
Nicolas Capens [Thu, 31 Dec 2015 19:38:46 +0000 (14:38 -0500)]
Eliminate AndroidCommon header and source.

Change-Id: I3983513f09f70b36ab506b3c405aa347df2f36b9
Reviewed-on: https://swiftshader-review.googlesource.com/4490
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoClean up GL header includes.
Nicolas Capens [Thu, 31 Dec 2015 19:10:55 +0000 (14:10 -0500)]
Clean up GL header includes.

Change-Id: I6dcaac900eaae54d2ec0265d656fdc9c38371b8a
Reviewed-on: https://swiftshader-review.googlesource.com/4449
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoPass the gralloc buffer stride to sw::Surface.
Nicolas Capens [Tue, 24 Nov 2015 20:33:31 +0000 (15:33 -0500)]
Pass the gralloc buffer stride to sw::Surface.

Bug 19979104

Change-Id: If9dd668b4b6a1d82b38d1840648cb578e80495bf
Reviewed-on: https://swiftshader-review.googlesource.com/4302
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoUse the given YV12 texture stride instead of computing it from width.
Nicolas Capens [Fri, 20 Nov 2015 03:58:29 +0000 (22:58 -0500)]
Use the given YV12 texture stride instead of computing it from width.

Bug 25690690

Change-Id: If25a8868effb1e55908c4041555e553b52ee789a
Reviewed-on: https://swiftshader-review.googlesource.com/4292
Reviewed-by: Keun Soo Yim <yim@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoRename translator libraries.
Nicolas Capens [Wed, 23 Dec 2015 20:12:45 +0000 (15:12 -0500)]
Rename translator libraries.

Change-Id: I9acb04151fa5230f59304b357438fadd914a68ce
Reviewed-on: https://swiftshader-review.googlesource.com/4450
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoOptimize for size.
Nicolas Capens [Wed, 23 Dec 2015 17:02:01 +0000 (12:02 -0500)]
Optimize for size.

Change-Id: I7013a57ab7d6bc1916d0a87b72ae826409a34ee9
Reviewed-on: https://swiftshader-review.googlesource.com/4442
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoStatically link LLVM on OSX.
Nicolas Capens [Wed, 23 Dec 2015 03:04:28 +0000 (22:04 -0500)]
Statically link LLVM on OSX.

Change-Id: Idbde45f1817ad9c9b3a4b526de78ecdf03e64d1f
Reviewed-on: https://swiftshader-review.googlesource.com/4440
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix OSX retina display support.
Nicolas Capens [Sat, 19 Dec 2015 06:48:43 +0000 (01:48 -0500)]
Fix OSX retina display support.

Change-Id: I712b089c36e9c696c44a8d99a3d21819798a6142
Reviewed-on: https://swiftshader-review.googlesource.com/4430
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoPort to OSX.
Corentin Wallez [Thu, 10 Dec 2015 20:59:28 +0000 (15:59 -0500)]
Port to OSX.

Change-Id: I31fdb6a1e403831feb6040ea756f2c144ac79a5b
Reviewed-on: https://swiftshader-review.googlesource.com/4383
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoAdd OSX version of OGLES2HelloAPI sample.
Corentin Wallez [Thu, 10 Dec 2015 20:59:28 +0000 (15:59 -0500)]
Add OSX version of OGLES2HelloAPI sample.

Change-Id: I2f8511486ca3b040b257c2a763abb1bd0647d0e6
Reviewed-on: https://swiftshader-review.googlesource.com/4441
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoMake SwiftShader compile on Mac (with unimplemented functions)
Corentin Wallez [Wed, 9 Dec 2015 20:22:08 +0000 (15:22 -0500)]
Make SwiftShader compile on Mac (with unimplemented functions)

Change-Id: Iaef054314fb27632513397412ca9dc22b67a70ce
Reviewed-on: https://swiftshader-review.googlesource.com/4380
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoAdd LLVM config headers for OSX.
Corentin Wallez [Wed, 9 Dec 2015 19:42:19 +0000 (14:42 -0500)]
Add LLVM config headers for OSX.

Change-Id: I08d5d852322a75c8b3a0d6932f229da7022a82f1
Reviewed-on: https://swiftshader-review.googlesource.com/4379
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoAdd a CMakelists.txt to compile on Linux and Mac
Corentin Wallez [Wed, 9 Dec 2015 18:49:40 +0000 (13:49 -0500)]
Add a CMakelists.txt to compile on Linux and Mac

Windows support is still WIP

Change-Id: I5fd5bcda4fad754c0ce73698eddbe73e538f56df
Reviewed-on: https://swiftshader-review.googlesource.com/4370
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoStore the native display as an opaque pointer.
Nicolas Capens [Fri, 11 Dec 2015 22:24:40 +0000 (17:24 -0500)]
Store the native display as an opaque pointer.

Bug 18314459

Change-Id: I63e56d626bd1838803d1de71b417b7e40242c5e9
Reviewed-on: https://swiftshader-review.googlesource.com/4390
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFix missing abs() declaration.
Nicolas Capens [Mon, 21 Dec 2015 20:48:31 +0000 (15:48 -0500)]
Fix missing abs() declaration.

Change-Id: I7e4ceea2a45e8767881094de8b69b4d3aadab158
Reviewed-on: https://swiftshader-review.googlesource.com/4354
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoRemove unnecessary header includes.
Nicolas Capens [Mon, 14 Dec 2015 18:18:11 +0000 (13:18 -0500)]
Remove unnecessary header includes.

Change-Id: If1a8a581a63e801ec3855c554f10dabd67e8a4fd
Reviewed-on: https://swiftshader-review.googlesource.com/4400
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoImplemented support for RGB10_A2 in blitter
Alexis Hetu [Thu, 17 Dec 2015 16:09:36 +0000 (11:09 -0500)]
Implemented support for RGB10_A2 in blitter

Added RGB10_A2 implementation in the Blitter and cases in
related Surface utility functions.

Change-Id: I2b1a9cdc1acc605085fb0f853741cc2f75bf1c9b
Reviewed-on: https://swiftshader-review.googlesource.com/4420
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoSending magnification filter info to the sampler
Alexis Hetu [Thu, 10 Dec 2015 13:42:02 +0000 (08:42 -0500)]
Sending magnification filter info to the sampler

Currently, the magnification filter information is ignored
by SwiftShader. In order to fix it, the 1st step is simply
to make the sampler aware of this information. After this,
a subsequent cl using the duvdxy computed in computeLod
will choose which filter to use (if they are different).

Change-Id: Idc8636c3d981c944815094f23e443725bed4cf27
Reviewed-on: https://swiftshader-review.googlesource.com/4382
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFixed format validations
Alexis Hetu [Thu, 15 Oct 2015 21:22:57 +0000 (17:22 -0400)]
Fixed format validations

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

Change-Id: I72fc8fb1b0f135ac679c274866e5b8e223541e7f
Reviewed-on: https://swiftshader-review.googlesource.com/4082
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoBlitter int to int copy fix
Alexis Hetu [Wed, 16 Dec 2015 21:54:32 +0000 (16:54 -0500)]
Blitter int to int copy fix

Integer to integer types copy operations were failing due
to a missing assignment when calling the Insert function
and bad offsets on 16 and 32 bit component types.

Change-Id: I2db55e9b6a284f8349e8fef0451255ee33be5837
Reviewed-on: https://swiftshader-review.googlesource.com/4410
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFixed stencil clear
Alexis Hetu [Thu, 3 Dec 2015 19:23:10 +0000 (14:23 -0500)]
Fixed stencil clear

Fixed a few mistakes in the stencil clearing code to fix both
masking and scissoring. Also added a few variable in both the
depth clearing code and stencil clearing code to make them
more readable.

Bug 25971463

Change-Id: If33e2b0685fd35ef2edd31c56aea088cfbf2b430
Reviewed-on: https://swiftshader-review.googlesource.com/4335
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFixed blitter operation from alphaless types
Alexis Hetu [Mon, 14 Dec 2015 22:33:04 +0000 (17:33 -0500)]
Fixed blitter operation from alphaless types

Some types without alpha were not correctly setting the
alpha value, so copying to a type with alpha was causing
the image to not appear (due to it being almost completely
transparent).

Change-Id: Ib12c291bd5c51628e0579285731033372656f6a0
Reviewed-on: https://swiftshader-review.googlesource.com/4391
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
8 years agoAdded new extensions
Alexis Hetu [Fri, 4 Dec 2015 16:16:35 +0000 (11:16 -0500)]
Added new extensions

The new extensions are:
- GL_OES_framebuffer_object (with extra exports)
- GL_OES_depth24
- GL_OES_depth32
- GL_EXT_color_buffer_half_float

These were mostly supported already with the GLES3 related changes,
so only a few minor changes were required.

Change-Id: Iab6e94043cfdabb8ad74e526f44f7bd9d57c267f
Reviewed-on: https://swiftshader-review.googlesource.com/4342
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
8 years agoUpdate eglplatform.h to latest Khronos version.
Nicolas Capens [Wed, 9 Dec 2015 21:17:25 +0000 (16:17 -0500)]
Update eglplatform.h to latest Khronos version.

We need this to define the native EGL types for Apple.

Change-Id: Iba492ea863fffd3649c8f7a3b7ca7453e12c3772
Reviewed-on: https://swiftshader-review.googlesource.com/4381
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Corentin Wallez <cwallez@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoEnabled 2D array textures
Alexis Hetu [Tue, 1 Dec 2015 20:13:23 +0000 (15:13 -0500)]
Enabled 2D array textures

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

Change-Id: Ida0659afac75330bfd9af4052cfd2625c729f9ef
Reviewed-on: https://swiftshader-review.googlesource.com/4310
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoUse stlport prior to Marshmallow.
Nicolas Capens [Tue, 8 Dec 2015 01:58:40 +0000 (20:58 -0500)]
Use stlport prior to Marshmallow.

Change-Id: I83294568a5725e95fcf2d7490336bead35517bdf
Reviewed-on: https://swiftshader-review.googlesource.com/4362
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFramebuffer completeness multisample fix
Alexis Hetu [Tue, 8 Dec 2015 16:24:21 +0000 (11:24 -0500)]
Framebuffer completeness multisample fix

Framebuffer completeness, usually verified through
glCheckFramebufferStatus, should return
GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE when the number of
samples is not the same for all attached renderbuffers.

Change-Id: I8d29895c6d4ded26847ce47fbd2581bbf06ed1bf
Reviewed-on: https://swiftshader-review.googlesource.com/4363
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoFramebufferTextureLayer fix
Alexis Hetu [Fri, 4 Dec 2015 22:12:35 +0000 (17:12 -0500)]
FramebufferTextureLayer fix

Fixed a few things related to FramebufferTextureLayer:
- Added layer validation to make sure it does not exceed
  the size of the 3D texture's or 2D array's depth.
- Fixed frambuffer target / texture target confusion.
- Removed bad validation.
- Fixed last 2 arguments of set[insert type]Buffer calls
  (layer and level) which were inverted.

Change-Id: Ie1f2cb595d8b9abfee27bcf834c535f7e023e3ee
Reviewed-on: https://swiftshader-review.googlesource.com/4343
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoRemove unused header.
Nicolas Capens [Sat, 5 Dec 2015 04:42:19 +0000 (23:42 -0500)]
Remove unused header.

Change-Id: I2bd7c62b0923c855327fdb105eb22ef4655ea8ac
Reviewed-on: https://swiftshader-review.googlesource.com/4344
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoFixes for JBMR0 compile (API 16)
Greg Hartman [Wed, 2 Dec 2015 04:07:21 +0000 (20:07 -0800)]
Fixes for JBMR0 compile (API 16)

Change-Id: Ibb2ebd66116f3dfd0008217153006bd6c7a49b9e
Reviewed-on: https://swiftshader-review.googlesource.com/4322
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoRemove legacy build script.
Nicolas Capens [Fri, 4 Dec 2015 05:18:48 +0000 (00:18 -0500)]
Remove legacy build script.

Change-Id: If348bb5dd92c1160e57f1db15929a2e02d1f253d
Reviewed-on: https://swiftshader-review.googlesource.com/4350
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
8 years agoEnable x86-64 builds for Android.
Nicolas Capens [Fri, 4 Dec 2015 17:09:28 +0000 (12:09 -0500)]
Enable x86-64 builds for Android.

Change-Id: Ief54422c0c0d82c773f96f4491bfebb7ee717ba8
Reviewed-on: https://swiftshader-review.googlesource.com/4351
Reviewed-by: Greg Hartman <ghartman@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/4353
Reviewed-by: Nicolas Capens <capn@google.com>
8 years agoOnly build for x86 Android architectures.
Nicolas Capens [Fri, 4 Dec 2015 02:59:36 +0000 (21:59 -0500)]
Only build for x86 Android architectures.

Change-Id: I06da8a8e48f202d6625c6d6eb8569be3867da13c
Reviewed-on: https://swiftshader-review.googlesource.com/4341
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-on: https://swiftshader-review.googlesource.com/4352