|
c4f27e4b
|
2018-03-31T14:19:18
|
|
Texture: Pass ImageIndex to relevant methods.
The Vulkan back-end will be using this helper struct, so make it
available everywhere. This cleans up a lot of the code for D3D.
Potentially in the future we could generate these in the entry
points if we supported packing multiple arguments into one.
Also changes a few parameter types to GLint for compatibility.
Also updates the Vulkan Texture implementation check the stored
vk::Format on setImage changes.
Bug: angleproject:2318
Change-Id: I57cea4a42483ab51859229517d783b58f206b8e7
Reviewed-on: https://chromium-review.googlesource.com/985203
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
6816d843
|
2018-03-31T14:19:17
|
|
Add two new fields to angle::Format.
One field determines if a format is a compressed format
(called Block format for angle::Format, but basically the same).
The second field is the number of bytes in the format, so we
can do calculations on pixel size.
Both of these will make life cleaner in the Vulkan back-end.
Also solves some TODOs in the vk format table init.
Bug: angleproject:2318
Bug: angleproject:2358
Change-Id: I8b021b959c5892c86635e0225012295e5e830256
Reviewed-on: https://chromium-review.googlesource.com/987524
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
0cec82a5
|
2018-03-14T09:21:07
|
|
Vulkan: Implement basic depth/stencil buffers.
This implements basic depth/stencil states and clearing.
This also implements "fallback" texture formats in the texture
generation. Fallback formats are those that are chosen at runtime for
replacements for main formats which lack driver support. They are
different from override formats, which are always used because we
assume there is no driver support.
The Vulkan spec only asserts that one of the two of D32 or D24 has
mandatory support. In the case of AMD, D24 is not supported fully, and
we need the fallback format support emulation.
Bug: angleproject:2357
Change-Id: Ic86cede3c69ff9893a06b3a55c3b5d2d897fa55f
Reviewed-on: https://chromium-review.googlesource.com/916701
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
0aa1ffe3
|
2018-02-08T13:42:36
|
|
Vulkan: Autogen mandatory texture caps
* This commit includes a JS file to execute on the spec and
generate the JSON output of all the mandatory texture caps.
Bug: angleproject:2348
Change-Id: I57e969915bdd0e7104e00a73fd3743ff1ecf0a6d
Reviewed-on: https://chromium-review.googlesource.com/911615
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d50537a7
|
2018-02-07T17:02:08
|
|
Vulkan: Texture caps map
We are generating the caps map using various bits from the results of
vkGetPhysicalDeviceFormatProperties. This contains all the information
required to fill out "renderable", "texturable" and "filterable".
Later we'll need to read from vkGetPhysicalDeviceImageFormatProperties as
well to get the sampleCounts.
The tests for now are not very meaningful since they use the same logic
as the caps code to build the expected results, however as soon as we'll
add the hard-coded list of mandatory texture caps, the test will be a good
validator that we are not breaking anything.
We only check the optimal set of flags since it is the most restrictive
set.
isTexturable = flags contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
isFilterable = flags contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
isRenderable = flags contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT OR
VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
Bug: angleproject:2348
Change-Id: I9da0712190d2678d7e377d6fcd4ca83d23eefd38
Reviewed-on: https://chromium-review.googlesource.com/908712
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3c424b48
|
2018-01-19T12:35:09
|
|
Vulkan: Add vk_cache_utils.h.
This file contains the Pipeline and RenderPass cache utils.
Also renames renderervk_utils.h to vk_utils.h and the format utils
file.
Refactoring change only.
Bug: angleproject:2163
Change-Id: I5113a9a2c6f0b0960d38e6c2d8e391fa2d9f5f6a
Reviewed-on: https://chromium-review.googlesource.com/876505
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|