shader/image: Implement SULD and remove irrelevant code

* Implement SULD as float.
* Remove conditional declaration of GL_ARB_shader_viewport_layer_array.
This commit is contained in:
ReinUsesLisp 2019-09-18 01:07:01 -03:00
parent 4de0f1e1c8
commit 675f23aedc
No known key found for this signature in database
GPG key ID: 2DFC508897B39CFE
10 changed files with 110 additions and 47 deletions

View file

@ -149,7 +149,8 @@ enum class OperationCode {
TextureQueryLod, /// (MetaTexture, float[N] coords) -> float4
TexelFetch, /// (MetaTexture, int[N], int) -> float4
ImageStore, /// (MetaImage, int[N] values) -> void
ImageLoad, /// (MetaImage, int[N] coords) -> void
ImageStore, /// (MetaImage, int[N] coords) -> void
AtomicImageAdd, /// (MetaImage, int[N] coords) -> void
AtomicImageMin, /// (MetaImage, int[N] coords) -> void
AtomicImageMax, /// (MetaImage, int[N] coords) -> void
@ -402,6 +403,7 @@ struct MetaTexture {
struct MetaImage {
const Image& image;
std::vector<Node> values;
u32 element{};
};
/// Parameters that modify an operation but are not part of any particular operand