|
e78d9a61
|
2020-07-24T11:58:45
|
|
Convert unordered_map to absl::flat_hash_map for select files
This is the initial CL to start migrating to abseil in various places:
- formatutils.h
- FramebufferVk.h
- Program.h
- ProgramExecutableVk.h
- RewriteRowMajorMatrices.cpp
This intentionally hits a couple different places in the code to make
sure the abseil dependencies are added to the required targets.
Bug: angleproject:4873
Change-Id: Idd6084dff2ebce47833f304c605bbf3151b97414
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2402382
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
8d412db2
|
2020-08-29T22:25:18
|
|
Revert "Convert unordered_map to absl::flat_hash_map for select files"
This reverts commit 1acaf4eced42a26f09b4d9180a9e5db0f37bc9a4.
Reason for revert: Fails when is_component_build is not set:
lld-link: error: <root>: undefined symbol: public: __cdecl absl::Condition::Condition<struct std::__1::atomic<bool> const>(bool (__cdecl *)(struct std::__1::atomic<bool> const *), struct std::__1::atomic<bool> const *)
<snip>
Original change's description:
> Convert unordered_map to absl::flat_hash_map for select files
>
> This is the initial CL to start migrating to abseil in various places:
> - formatutils.h
> - FramebufferVk.h
> - Program.h
> - ProgramExecutableVk.h
> - RewriteRowMajorMatrices.cpp
>
> This intentionally hits a couple different places in the code to make
> sure the abseil dependencies are added to the required targets.
>
> Bug: angleproject:4873
> Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>
TBR=timvp@google.com,jmadill@chromium.org,cclao@google.com
Change-Id: I75041532fc5126b4c7cc5e0d4529883fb357e05b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4873
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2383870
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1acaf4ec
|
2020-07-24T11:58:45
|
|
Convert unordered_map to absl::flat_hash_map for select files
This is the initial CL to start migrating to abseil in various places:
- formatutils.h
- FramebufferVk.h
- Program.h
- ProgramExecutableVk.h
- RewriteRowMajorMatrices.cpp
This intentionally hits a couple different places in the code to make
sure the abseil dependencies are added to the required targets.
Bug: angleproject:4873
Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e3988722
|
2020-08-06T18:23:28
|
|
Fix an OOB access bug with RewriteRowMajorMatrices
Bug: angleproject:2273
Change-Id: I27109b873a290133cf3d016f612e1fd1de9d354c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341763
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e196bc85
|
2020-01-17T13:11:20
|
|
Add driver bug workaround for rewriting row major matrices.
Joint work with syoussefi@, who wrote the RewriteRowMajorMatrices
pass, and revised it for this CL to not rely on the
NameNamelessUniformBuffers pass - which was breaking it on the GL
backend.
Hook up previously written RewriteRowMajorMatrices transformation, and
enable on all GPU types on macOS. It is needed at least for AMD and
Intel GPUs.
Add a new test which verifies the behavior of dynamically-indexed
arrays of row-major matrices.
Bug: angleproject:2273
Bug: angleproject:3843
Change-Id: Id582f9cf6b9b1a59091aab1786539174f360b705
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2008717
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
86d9c93a
|
2019-12-16T16:07:04
|
|
Use TSpan for TType's array sizes
Until C++20, std::vector doesn't have a constexpr constructor, which
means TType cannot use a `TVector` for `mArraySizes` if an arrayed type
needs to be created constexpr. This is needed for the upcoming
textureGatherOffsets implementation.
A new TSpan class is introduced, based on std::span (from C++20) that
holds the pointer/size allocated from a TVector without owning it.
Since TVector's allocation are made from a pool, the allocated memory
will live beyond the vector's destruction. `TType::mArraySizes` is
changed to this type.
This change will allow a new constexpr constructor to be added to TType
that takes a TSpan as array directly, a value which is constexpr
initialized from a static array (instead of TVector).
Bug: angleproject:3569
Change-Id: I78793b0f4c64519e0ebe30cf6e0de995ba70035d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1968260
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
db3e5183
|
2019-11-14T13:47:55
|
|
Vulkan: Fix col-major transformation of unsized arrays
If the row-major expression that was being transformed was in the form:
arr.length()
where `arr` is an SSBO unsized array, the translator transformation was
attempting to transpose the `arr` expression, which is both wrong and
impossible. Note that length() is removed through a prior
transformation except for this particular case.
This change recognizes this usage and supports it by keeping the
expression as is (as the length() would be identical pre or post
transformation).
Bug: angleproject:3443
Change-Id: I8efacb7b12d5e53047eb56ab5d86830d81952d86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917422
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d6c7fec1
|
2019-08-12T16:46:57
|
|
Vulkan: Support mixed column/row-major buffer fields
Adds comprehensive tests for mixed column/row-major interface blocks,
which flush out various bugs in different OpenGL drivers too.
Bug: angleproject:3443
Change-Id: Ie88cca743373891bbb49d9f564f30407475e07fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749334
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|