History log of /external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a56a9bf430c44a937b60830ab5e04518366946d3 19-Jun-2017 Juan A. Suarez Romero <jasuarez@igalia.com> Set correct xfb_stride

This test is setting xfb_stride = 32, but it requires at least 48 bytes.

Affects:
KHR-GL45.enhanced_layouts.xfb_block_member_stride

VK-GL-CTS issue: 512
Components: OpenGL

Change-Id: I0a71a4a9ab840e2fab123cedb19566e17cf7e829
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
1f4d3d0067e4e3b9f6c4c0e7e3b203eb7cb00d05 06-Jul-2017 Juan A. Suarez Romero <jasuarez@igalia.com> Non-zero stream outputs can't be used in fragment shaders.

According to ARB_gpu_shader5 spec, "Geometry Shader Vertex Streams"
section:

"The primitives emitted to all vertex streams are passed to the transform
feedback stage to be captured and written to buffer objects in the manner
specified by the transform feedback state. The primitives emitted to all
streams but stream zero are discarded after transform feedback.
Primitives emitted to stream zero are passed to subsequent pipeline stages
for clipping, rasterization, and subsequent fragment processing."

Thus, it is an error trying to use a GS output as FS input that was
emitted through non-zero stream.

Affects:
KHR-GL45.enhanced_layouts.xfb_vertex_streams

Components: OpenGL

VK-GL-CTS issue: 557

Change-Id: I008c929b600905b1f3eb27a05753c8c75bf82ac5
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
f7014d5d8d3de986bda223fbddc1ed9a4fd3c002 07-Jul-2017 Jeannot Breton <jbreton@nvidia.com> Don't set geometry shader output as array

Only geometry shader inputs needs to be arrayed, not the output

Affects:

KHR-GL45.enhanced_layouts.varying_block_member_locations

Components: OpenGL

VK-GL-CTS issue: 564

Change-Id: Ia7bf0ffe6c5e60db2f620bb2f378f055b325ac0d
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
570c75a6c609c695fc72c3856e816f8f543b1fe9 12-Jul-2017 Jeannot Breton <jbreton@nvidia.com> All scalar or vector VS Inputs use one location

GetLocations() was returning 2 locations for dvec3 and dvec4, this
was incorrect for vertex shader input.

Affects:

KHR-GL45.enhanced_layouts.varying_location_limit

Components: OpenGL

VK-GL-CTS issue: 569

Change-Id: I884aa05dddb209f690beae3762d05edc3d56ca2e
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
3000b05aaa052e2712f42ec0ab6c0996d69d05e2 12-Jul-2017 Jeannot Breton <jbreton@nvidia.com> Fix xfb_override_qualifiers_with_api

This change fixes various issue in xfb_override_qualifiers_with_api

- Remove one output variable for we don't request more than 16
varying location

- Change the way the source and expected random data is generate so
they match

- Specify that xfb data is tightly pack when calling GetSize

Affects:

KHR-GL45.enhanced_layouts.xfb_override_qualifiers_with_api

Components: OpenGL

VK-GL-CTS issue: 570

Change-Id: I166a1f6a03ac2d5003cd110ad895f13dccaebbef
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
2aeb53f3ad291f50c181ff701745824c1821ba12 11-Jul-2017 Alexander Galazin <alexander.galazin@arm.com> Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/master

Change-Id: I38c411fd5bdd838539af37d5ccbebecb2118159d
9940cc8228f6a4fcda97238da9548d08fa559480 22-Jun-2017 Andres Gomez <agomez@igalia.com> GL_ARB_enhanced_layouts: use proper max size value

When checking for invalid offset alignment in uniform blocks we have
to take into account the MAX_UNIFORM_BLOCK_SIZE limit but, when trying
to do the same for Shader Storage Blocks, the limit to have into
account is MAX_SHADER_STORAGE_BLOCK_SIZE.

From page 52 (page 65 of the PDF) of the OpenGL 3.1 spec:

"2.11.4 Uniform Variables

...

The total amount of buffer object storage available for any given
uniform block is subject to an implementation-dependent limit. The
maximum amount of available space, in basic machine units, can be
queried by calling GetIntegerv with the constant
MAX_UNIFORM_BLOCK_SIZE . If the amount of storage required for a
uniform block exceeds this limit, a program may fail to link."

From page 128 (page 129 of the PDF) of the OpenGL 4.3 spec:

"7.8 Shader Buffer Variables and Shader Storage Blocks

...

The total amount of buffer object storage that can be accessed in
any shader storage block is subject to an implementation-dependent
limit. The maximum amount of available space, in basic machine
units, can be queried by calling GetIntegerv with the constant
MAX_SHADER_STORAGE_BLOCK_SIZE . If the amount of storage required
for any shader storage block exceeds this limit, a program will
fail to link."

Affects:

GL44-CTS.enhanced_layouts.uniform_block_member_invalid_offset_alignment
GL44-CTS.enhanced_layouts.ssb_member_invalid_offset_alignment

Components: OpenGL

VK-GL-CTS issue: 527

Change-Id: I9185f32a6a90643aa1d3fca0e27a70dbd80d6e16
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
4cacfafc2c54872a9a76c3af4bbaad43049fde12 21-Jun-2017 Jeannot Breton <jbreton@nvidia.com> Handle component aliasing corner cases

This change avoid vertex shader where every path access multiple
inputs aliased to any single component since an error is permitted
but not required

The change avoid dvec3/dvec4 since it should not be declared with
a component

The change avoid double/dvec2 with a component 1 or 3

Affects:

KHR-GL45.enhanced_layouts.input_component_aliasing

Components: OpenGL

VK-GL-CTS issue: 524

Change-Id: I062b4321becf96a218b8643ee1d089105bccc63a
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
b2e055c7d34f120de9a7ca4f8b54978735a5b3e6 21-Jun-2017 Juan A. Suarez Romero <jasuarez@igalia.com> Double fragment inputs require flat qualifier

According to GLSL spec, fragment inputs of double type require "flat"
qualifier.

Affects:
KHR-GL45.enhanced_layouts.xfb_global_buffer

VK-GL-CTS issue: 522
Components: OpenGL

Change-Id: Ibd404b0ad63cbee09e157ea65a5efda932582a62
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
168ef42326dd77501355575a1f5aa7536b63c7b2 20-Jun-2017 Jeannot Breton <jbreton@nvidia.com> Set DrawBuffers for each fragment color output

Update the DrawBuffers call to properly map the fragment color
output to it expected color attachment

Affects:

KHR-GL45.enhanced_layouts.fragment_data_location_api

Components: OpenGL

VK-GL-CTS issue: 517

Change-Id: I54678528b59b9732fbe466df1a50707a3a4716ba
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
ff76012eb231ee06a23fec1612e5e15c2cee7a38 01-Mar-2017 Andres Gomez <agomez@igalia.com> GL_ARB_enhanced_layouts: consider std140 rules

In the case of UBOs and SSBOs, the offset for a block member depends
on the base alignment of its type. When the block uses the std140
packaging we have to take into account its specific rules for the
calculation of the base alignment for such data type.

From the GL_ARB_enhanced_layouts spec:

"The specified offset must be a multiple of the base alignment of
the type of the block member it qualifies, or a compile-time
error results."

From page 61 (page 74 of the PDF) of the OpenGL 3.1 spec:

"2.11. VERTEX SHADERS

...

Standard Uniform Block Layout

...

When using the std140 storage layout, structures will be laid out
in buffer storage with its members stored in monotonically
increasing order based on their location in the declaration. A
structure and each structure member have a base offset and a base
alignment, from which an aligned offset is computed by rounding
the base offset up to a multiple of the base alignment.

...

1. If the member is a scalar consuming N basic machine units, the
base alignment is N.

2. If the member is a two- or four-component vector with
components consuming N basic machine units, the base alignment
is 2N or 4N , respectively.

3. If the member is a three-component vector with components
consuming N basic machine units, the base alignment is 4N .

4. If the member is an array of scalars or vectors, the base
alignment and array stride are set to match the base alignment
of a single array element, according to rules (1), (2),
and (3), and rounded up to the base alignment of a vec4. The
array may have padding at the end; the base offset of the
member following the array is rounded up to the next multiple
of the base alignment.

5. If the member is a column-major matrix with C columns and R
rows, the matrix is stored identically to an array of C column
vectors with R compo- nents each, according to rule (4)."

From page 128 (page 149 of the PDF) of the OpenGL 4.3 spec:

"7.8 Shader Buffer Variables and Shader Storage Blocks

...

Buffer variables in shader storage blocks are represented in
memory in the same way as uniforms stored in uniform blocks, as
described in section 7.6.2.1. When a program is linked
successfully, each active buffer variable is assigned an offset
relative to the base of the buffer object binding associated with
its shader storage block. For buffer variables declared as arrays
and matrices, strides between array elements or matrix columns or
rows will also be assigned. Offsets and strides of buffer
variables will be assigned in an implementation-dependent manner
unless the shader storage block is declared using the std140 or
std430 storage layout qualifiers. For std140 and std430 shader
storage blocks, offsets will be assigned using the method
described in section 7.6.2.2."

Affects:

GL44-CTS.enhanced_layouts.uniform_block_member_invalid_offset_alignment
GL44-CTS.enhanced_layouts.ssb_member_invalid_offset_alignment

Components: OpenGL

VK-GL-CTS issue: 519

Change-Id: I5176d555605a8c482377ebfa5fbf16bc0dbf741a
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
3a0544a78c1d9029e8677a42b3531adc121bd241 02-Mar-2017 Andres Gomez <agomez@igalia.com> Fix 'verification' spell in enhanced_layouts

Corrected the spelling of the TextureTestBase's
getVariableVerification method in gl4cEnhancedLayoutsTests.*, from the
mispelled getVariableVerifcation one.

Affects:

KHR-GL44.enhanced_layouts.*

VK-GL-CTS issue: 514
Components: OpenGL

Change-Id: I407fb1ed46ff6e504ebd6517d4fd04cc34599d34
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
5d26c18efafe9c40aae756f92ca8ad43ccb49b77 01-Jun-2017 James Helferty <jhelferty@nvidia.com> Fix invalid FLAT and uninitialized variable

Fixes two issues in a negative test:

* Removes flat qualifier from vertex shader input, which is always
invalid and was causing a subtest of this negative test to always pass.

* Modifies the initial use of a variable from '+=' to '=' to fix an
uninitialized variable error.

Components: OpenGL

Affects:

KHR-GL45.enhanced_layouts.varying_component_without_location

VK-GL-CTS issue: 455

Change-Id: If24ea45ae13baaae83d68e6cd67109a1ffe6c050
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
995d6c47ab202e7beb9d00f8c08929c9c421a558 30-May-2017 James Helferty <jhelferty@nvidia.com> Fix spelling of 'tessellation'

Fixes the spelling of 'tessellation' in gl4cEnhancedLayoutsTests.cpp

VK-GL-CTS issue: 471
Components: OpenGL

Affects:

KHR-GL45.enhanced_layouts.*

Change-Id: I5710e8698830ba2c8c1ae525f87c587953c5b79f
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
5c72f0add3f676c6e2300ec3b7d87a66f33b2037 29-May-2017 James Helferty <jhelferty@nvidia.com> Call BufferTestBase's subclasses' executeDrawCall

A number of enhanced layout tests that inherited from BufferTestBase
were not calling the correct executeDrawCall function due to having a
different function prototype from the base class.

VK-GL-CTS issue: 451

Components: OpenGL

Affects:

KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_block_member
KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_component
KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_variable
KHR-GL44.enhanced_layouts.xfb_capture_struct
KHR-GL44.enhanced_layouts.xfb_stride
KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list
KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list_and_api
KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_block_member
KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_component
KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_variable
KHR-GL45.enhanced_layouts.xfb_capture_struct
KHR-GL45.enhanced_layouts.xfb_stride
KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list
KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api

Change-Id: I731297f26e2784915003b4e13958b285736d7c9d
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
cb92cea745366b31207a6c222a3da2a0a2c0d5e1 01-Jun-2017 James Helferty <jhelferty@nvidia.com> Add log for unexpected success in negative tests

This adds logging of shader source whenever one of the affected
negative enhanced layout tests unpexpectedly succeeds.

VK-GL-CTS issue: 460

Components: OpenGL

Affects:

KHR-GL45.enhanced_layouts.glsl_contant_immutablity
KHR-GL45.enhanced_layouts.uniform_block_layout_qualifier_conflict
KHR-GL45.enhanced_layouts.uniform_block_member_invalid_offset_alignment
KHR-GL45.enhanced_layouts.uniform_block_member_overlapping_offsets
KHR-GL45.enhanced_layouts.uniform_block_member_align_non_power_of_2
KHR-GL45.enhanced_layouts.ssb_layout_qualifier_conflict
KHR-GL45.enhanced_layouts.varying_structure_member_location
KHR-GL45.enhanced_layouts.varying_block_member_locations
KHR-GL45.enhanced_layouts.varying_block_automatic_member_locations
KHR-GL45.enhanced_layouts.varying_location_limit
KHR-GL45.enhanced_layouts.varying_exceeding_components
KHR-GL45.enhanced_layouts.varying_component_without_location
KHR-GL45.enhanced_layouts.varying_component_of_invalid_type
KHR-GL45.enhanced_layouts.input_component_aliasing
KHR-GL45.enhanced_layouts.output_component_aliasing
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_types
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
KHR-GL45.enhanced_layouts.xfb_input
KHR-GL45.enhanced_layouts.xfb_too_small_stride
KHR-GL45.enhanced_layouts.xfb_variable_stride
KHR-GL45.enhanced_layouts.xfb_duplicated_stride
KHR-GL45.enhanced_layouts.xfb_multiple_vertex_streams
KHR-GL45.enhanced_layouts.xfb_exceed_buffer_limit
KHR-GL45.enhanced_layouts.xfb_exceed_offset_limit
KHR-GL45.enhanced_layouts.xfb_block_member_buffer
KHR-GL45.enhanced_layouts.xfb_output_overlapping
KHR-GL45.enhanced_layouts.xfb_invalid_offset_alignment
KHR-GL45.enhanced_layouts.xfb_capture_unsized_array

(and any GL44 equivalents)

Change-Id: Ie8e93c73e43828322a0860cc4820b72a9fb1f8d3
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
77e9fbae1434b39e7c5f74ad0482c7a4923dad6b 02-May-2017 Jeannot Breton <jbreton@nvidia.com> Fix DrawElements indice to use a NULL offset

We are using the address of an array as indice parameters
to a DrawElements call.

The address will be used as an offset to the element buffer,
and it's not what we want.

Use NULL instead

Affects:

KHR-GL45.enhanced_layouts.vertex_attrib_locations

Components: OpenGL

VK-GL-CTS issue: 397

Change-Id: Ic6be8925b990107e342f609726730ab51a33da9b
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
84322c9402f810da3cd80b52e9f9ef72150a9004 29-Nov-2016 Alexander Galazin <alexander.galazin@arm.com> Reformat GL CTS according to the clang-format rules.

Mostly license statement is affected.

Change-Id: I41bcd7fbdf88b6e6acda8e723d88c57f5c5374a7
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp
48087f5f0eb08759ee763f98daf3b34becb74559 14-Nov-2016 Pyry Haulos <phaulos@google.com> Import Khronos OpenGL CTS

Change-Id: Ic6e4341dedb44dfd4ebaaeba7699a5e46202a8b3
/external/deqp/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp