- 29 Jan, 2019 2 commits
-
-
Alexis Hetu authored
Since PipelineCache is a potential optimization, unmarking it as UNIMPLEMENTED() and leaving a TODO instead. This can be addressed much later, but for now, this shouldn't make tests fail. Bug b/118386749 b/123588002 Change-Id: I5bdc15aedd9a01e35a457eef1a70c450083fd577 Reviewed-on: https://swiftshader-review.googlesource.com/c/23969Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Raymond Chiu authored
Bug b/123360006 Change-Id: I90ebde7968135f136f010d1f526aca26bc2b9418 Reviewed-on: https://swiftshader-review.googlesource.com/c/23988Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
- 28 Jan, 2019 3 commits
-
-
Alexis Hetu authored
Respect loadOp when clearing attachments in beginRenderPass(). Bug b/119621736 Change-Id: Id9ad0f1ad9dc6116264782be3370c37c078d6846 Reviewed-on: https://swiftshader-review.googlesource.com/c/24050Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Wez authored
The ZX_VM_FLAG_PERM_* names have been deprecated in favour of the ZX_VM_PERM_* form, and will shortly be removed from the Fuchsia SDK. Bug: chromium:925597 Change-Id: Ibb2d5c364fa62c9f7a0a9bb0cd715c41fd757522 Reviewed-on: https://swiftshader-review.googlesource.com/c/24068Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Wez <wez@google.com>
-
Nicolas Capens authored
LLVM 3.0's raw_fd_ostream doesn't take an std::string as file name. Bug swiftshader:123 Bug b/123193054 Change-Id: I994f6fe5ce98c573d4be48737934b7c6c0127434 Reviewed-on: https://swiftshader-review.googlesource.com/c/24088Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 25 Jan, 2019 4 commits
-
-
Alexis Hetu authored
Implemented subregion clears. The quad layout had to be disabled to depth/stencil textures, as it was not expected by dEQP. Passes all tests in api.image_clearing.dedicated_allocation. - partial_clear_color_attachment.* - partial_clear_depth_stencil_attachment.* Bug b/119621736 Change-Id: I9e854eceeef4a72b2ae507d62dbdbfa0b56c96f3 Reviewed-on: https://swiftshader-review.googlesource.com/c/23829Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
-
Alexis Hetu authored
This is the implementation for vkCmdClearAttachments. It includes the new command along with the plumbing to get the information to the Image clear function. The only non trivial behavior here is that the provided baseArrayLayer for the clear command is to be offset by the ImageView's subresourceRange's baseArrayLayer so that it clears the correct layers. Bug b/119621736 Passes all tests in: api.image_clearing.dedicated_allocation.clear_color_attachment.* Change-Id: I19f86b63239ca2fb4d53f2c6c9cb75185794f061 Reviewed-on: https://swiftshader-review.googlesource.com/c/23748Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
RenderPass information is required for RenderPass related commands, like clearing attachments. This cl adds storage for attachments, subpasses and dependencies related information in the RenderPass objects and stores all this information in new class members. Bug b/119620965 Change-Id: I19d8b8465c807755881de6471700a119082575f8 Reviewed-on: https://swiftshader-review.googlesource.com/c/23788Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
Added QueryPool object. Fixes all tests in: dEQP-VK.api.object_management.*.query_pool Change-Id: Ie564848b616714c39961e7a80bc421ec7bb0ef58 Reviewed-on: https://swiftshader-review.googlesource.com/c/23948Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
-
- 24 Jan, 2019 2 commits
-
-
Alexis Hetu authored
The Image class now contains all the required functions to fill out the VkSubresourceLayout structure, so this simply hooks the proper calls to implement vkGetImageSubresourceLayout. Bug b/119620767 Change-Id: I104811be4a5be31ef5db7ad55965ba263dd110ed Reviewed-on: https://swiftshader-review.googlesource.com/c/24051Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
When using TransformFeedback with DrawArraysInstanced, a crash would occur if no varyings were set to use transform feedback due to a null transform feedback buffer. Added a null pointer check and an assert to fix this. Bug b/117080493 Change-Id: Ieb226bfb70ae837bdb206bdbefe84f62dc1f2204 Reviewed-on: https://swiftshader-review.googlesource.com/c/23569Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
-
- 23 Jan, 2019 1 commit
-
-
Lingfeng Yang authored
Bug b/120382288 Change-Id: I506920a1ff5f68c2ece7c3e8327525c0bd5609ce Reviewed-on: https://swiftshader-review.googlesource.com/c/23889Tested-by:
Lingfeng Yang <lfy@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 22 Jan, 2019 1 commit
-
-
Chris Forbes authored
Previously this would just repeatedly overwrite the one file, which makes it difficult to see what's happening when you compile a pipeline that needs 3 routines. Change-Id: Ibab115f5ccbb17333d504e4e7948be54ca304f9d Bug: b/123193054 Reviewed-on: https://swiftshader-review.googlesource.com/c/23469Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
- 21 Jan, 2019 1 commit
-
-
Chris Forbes authored
Routine names were passed as wide strings for the integration with CodeAnalyst, which no longer exists. - Rip out the remnants of the CodeAnalyst support - Change Reactor interface to take routine names as const char * Bug: b/123193048 Change-Id: I919ce3a55c59c3a08057f85cac994fbffad37614 Reviewed-on: https://swiftshader-review.googlesource.com/c/23908Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
- 18 Jan, 2019 5 commits
-
-
Chris Forbes authored
Change-Id: Ib5e2ec3c443955aefe8b001b926469b9ce5accff Reviewed-on: https://swiftshader-review.googlesource.com/c/23828Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Cody Schuffelen authored
The error that appears when trying to build swiftshader master as part of android is: external/swiftshader/src/Shader/Shader.cpp:1886:51: error: expected '(' for function-style cast or type construction Change-Id: I667f249e46ed99c3c598490182e495c0862c64a9 Reviewed-on: https://swiftshader-review.googlesource.com/c/23768Tested-by:Chris Forbes <chrisforbes@google.com> Reviewed-by:
Lingfeng Yang <lfy@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Change-Id: If4f1d021a19c7be43fa1996705a493bf33ec1dbe Reviewed-on: https://swiftshader-review.googlesource.com/c/23809Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Change-Id: I2dfc8e09daaea0f93f9737b8738fdcd2c2fae539 Reviewed-on: https://swiftshader-review.googlesource.com/c/23808Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
std::make_unique is C++14, so for strict C++11, we have to use std::unique_ptr. Added a new utility function, CommandBuffer::addCommand, to make this change more readable. Change-Id: Icc62874a107543fa2c0599a338dbc6676047ad77 Reviewed-on: https://swiftshader-review.googlesource.com/c/23548Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
- 17 Jan, 2019 21 commits
-
-
Chris Forbes authored
We always know from the context whether a particular id refers to a type or something else. Split types out into their own map, and add an accessor which ensures the type actually exists. This isn't so much about checking for the provided code being valid, and more about catching likely foul-ups in our own code. Change-Id: If18831b1b604eed03fbbeaf352272b5ba15b37a9 Reviewed-on: https://swiftshader-review.googlesource.com/c/23608Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Problem of supporting builtin blocks boils down to how you refer to them from the API side -- if the reference is ONLY a SPIRV id, then block members are difficult to work with. Instead, represent a builtin variable binding as (id, first component, num components). For a single variable, first component == 0 always. Bug: b/120799499 Change-Id: If9e99f4c10f73a008e2f5071a95785920c7fbed1 Reviewed-on: https://swiftshader-review.googlesource.com/c/23488Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Only missing piece here was the array size, which is available since we support integer constants now. Bug: b/120799499 Change-Id: I8c42aa2ced86e8358be1ffbfaa14ca87b58cc138 Reviewed-on: https://swiftshader-review.googlesource.com/c/23449Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
This is just enough support to be able to handle array sizes, etc. Bug: b/120799499 Change-Id: I790d6accabe55efab9fd5e0c23c93b5d10b72e36 Reviewed-on: https://swiftshader-review.googlesource.com/c/23448Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
Added the ClearDepthStencilImage command and made some minor adjustments to Image clear functions to make the depth and stencil clears work. Passes all test in: api.image_clearing.dedicated_allocation.clear_depth_stencil_image.* Bug b/119620767 Change-Id: If4cfe6aa97b955c9bc7881bba89ab725897c36f9 Reviewed-on: https://swiftshader-review.googlesource.com/c/23728Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
Added the command to send the clear color image command to the Image object. Bug b/118619338 Change-Id: Ic4e00fbd49e8e043df1d2e707e3c26dadf159790 Reviewed-on: https://swiftshader-review.googlesource.com/c/23653Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
-
Alexis Hetu authored
Support for allocating, copying and clearing separate array layers and/or mip levels in VkImage objects. As part of that, most functions that compute memory offsets or sizes now all take mip levels and array layers into account. Also, since this can cause many consecutive calls to the blitter, the blitter object is now a VkImage member rather than being create in each function, in order to better use the blitter cache. Bug b/119620767 Change-Id: Ib29b66cc936b0734c8173a1b8b5b9ef157fc7956 Reviewed-on: https://swiftshader-review.googlesource.com/c/23648Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
Allow an image of type VK_IMAGE_VIEW_TYPE_(?)D with multiple array layers to count as VK_IMAGE_VIEW_TYPE_(X)D_ARRAY in ImageView. Bug b/119620767 Change-Id: I2d6ba3d960c531949529d72f5347442bb53990d6 Reviewed-on: https://swiftshader-review.googlesource.com/c/23651Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
I'm still on the fence about leaving complex input/output definitions intact. However, this provides enough support to walk such structures all the way down to the leaves and determine exactly which components are in use, what their types are, and what the interpolation qualifiers etc should be. Bug: b/120799499 Change-Id: Ia1e46a571126088e29bfdab6bc5ece0343e294e4 Reviewed-on: https://swiftshader-review.googlesource.com/c/23176Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Tom Tan authored
Chromium enabled warning -Wmicrosoft-include which complains the line "#include "Windows/WindowsSupport.h"" in lib/Support/Windows/Threading.inc because both files are under the same folder (see below error message). The fix was merged to Clang master at https://reviews.llvm.org/rL350655. Port the change to unblock Windows ARM64 build before a new rolling of LLVM to swiftshader. error: #include resolved using non-portable Microsoft search rules as: ../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Support/Windows/WindowsSupport.h [-Werror,-Wmicrosoft-include] Bug: chromium:893460 Change-Id: I9eb32fd92e4d96f7d22a07a7c2da70b98eba19d3 Reviewed-on: https://swiftshader-review.googlesource.com/c/23669Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Tom Tan <Tom.Tan@microsoft.com>
-
Chris Forbes authored
This works in a single pass, and supports both toplevel and member decorations. Includes support for 5 new opcodes: - OpDecorate introduces a single decoration for a toplevel id. - OpMemberDecorate introduces a single decoration for a <id, memberIndex> pair. - OpDecorationGroup introduces a new value category which has no representation downstream at all. This is safely implemented by doing nothing at all [we don't need to be able to introspect later]. - OpGroupDecorate applies all decorations in a decoration group to each of a list of other ids. - OpGroupMemberDecorate applies all decorations in a decoration group to each of a list of members (<id>, memberIndex pairs). Bug: b/120799499 Change-Id: Iaea970b23348e70d57ddb96a4df0726cfb511e03 Reviewed-on: https://swiftshader-review.googlesource.com/c/23174Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
A lot of arrays in VertexProgram and PixelProgram have fixed sizes, so programs that have more nested loops or ifs or deeper call stacks can cause OOB accesses, which causes security issues in Chromium. Index clamping was added to prevent any OOB memory accesses here. This could eventually be fixed properly by first verifying these sizes and giving shader compile errors when these limits are exceeded. Bug chromium:915197 chromium:915206 chromium:915218 b/116373662 Change-Id: I2d0710ed0ce6585f139cba49d5b5d8c909ae6391 Reviewed-on: https://swiftshader-review.googlesource.com/c/23568Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
-
Chris Forbes authored
Initial structures to bridge the shader's use of particular builtins to behavior of the "fixed function" logic wrapped around it. Bug: b/120799499 Change-Id: I5cb360909c62615efab2e500f5c24109737e4ab7 Reviewed-on: https://swiftshader-review.googlesource.com/c/23709Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
We're about to remove VertexShader, but we still care about types of vertex attributes. Bug: b/120799499 Change-Id: I80bed181479651e9d2470b81c7223e3381fbf4a7 Reviewed-on: https://swiftshader-review.googlesource.com/c/23708Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
SPIRV objects have arbitrary sizes -- they are not tied to previous shader APIs' vec4-centric view of the world. In order to be able to allocate space for both variables and ssavalues, we need to know how many scalar components are present in each object. Bug: b/120799499 Change-Id: I58551264eba5011be9bd01135cb35d541463993b Reviewed-on: https://swiftshader-review.googlesource.com/c/23168Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Change-Id: I5241cb398aa294a702c0f70980b80d399dfbc5b0 Reviewed-on: https://swiftshader-review.googlesource.com/c/23689Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Half.hpp now requires <cmath> Change-Id: Iab086681cfd3ed850ad184c77f88d13b5716e859 Reviewed-on: https://swiftshader-review.googlesource.com/c/23688Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Many other pieces will need an index of spirv-id to defining instruction. Start building that up. Bug: b/120799499 Change-Id: Ief6583f45c49fce02cb5dc40d12c6ba928e48fd7 Reviewed-on: https://swiftshader-review.googlesource.com/c/23428Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
-
Chris Forbes authored
This will eventually replace Shader and related subclasses. The interesting bit here is the instruction iterator, which allows fairly safe access to the instruction stream without needing the rest of the code to care too much about the physical layout. Bug: b/120799499 Change-Id: Id0d94c4b807ddb1e4325de147ca1f651171779b7 Reviewed-on: https://swiftshader-review.googlesource.com/c/23049Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
vkGetPhysicalDeviceImageFormatProperties is required to return VK_ERROR_FORMAT_NOT_SUPPORTED when the format is not supported. CTS (validly) assumes that the format /is/ supported if this function returns VK_SUCCESS. Bug: b/119620767 Change-Id: I1f7d3ff8dbbfbc2dd100af7c3c4d7204f350dd06 Reviewed-on: https://swiftshader-review.googlesource.com/c/23668Reviewed-by:
Corentin Wallez <cwallez@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Alexis Hetu authored
Shamelessly copied the FP32 -> B10G11R11 and FP32 -> E5B9G9R9 conversion functions from Angle. This allows packing the clear color for these formats into a single 32 bit integer, which can then be used within the fast clear function. Tested using: api.image_clearing.core.clear_color_image.*.b10g11r11_ufloat_pack32 api.image_clearing.core.clear_color_image.*.e5b9g9r9_ufloat_pack32 Bug b/119620767 Change-Id: Ic268da62959582f084245e88181374213734760f Reviewed-on: https://swiftshader-review.googlesource.com/c/23650Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
-