You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
3.0 KiB
68 lines
3.0 KiB
-------------------------------------------------------------------------
|
|
drawElements Quality Program Test Specification
|
|
-----------------------------------------------
|
|
|
|
Copyright 2014 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-------------------------------------------------------------------------
|
|
Single vertex attribute vertex array tests
|
|
|
|
Tests:
|
|
+ dEQP-GLES3.functional.vertex_arrays.single_attribute.*
|
|
|
|
Includes:
|
|
+ Rendering with different strides from buffer and user pointer.
|
|
+ Attribute normalization with different types and component counts.
|
|
+ Passing attributes to vec{N}, ivec{N} and uvec{N} (1 < n < 5).
|
|
+ Passing integer types to float types.
|
|
+ Passing ingerer types to intgeger types.
|
|
+ Using buffers with different usage.
|
|
+ Buffer attributes with different offsets.
|
|
+ Different first values for glDrawArrays
|
|
|
|
Excludes:
|
|
+ Buffer data modifications
|
|
+ Stride less than types own size
|
|
+ Robustness with nan or inf
|
|
+ Index buffers or glDrawElements
|
|
+ Exact precision of attributes as input is clamped to very few bits of output.
|
|
|
|
Description:
|
|
|
|
Testcases generate data that defines quads in testcase specifig format.
|
|
This takes account stride, offsets and other parameters. Input types must
|
|
have two or more components to form distinct coordinates. First two components
|
|
are coordinates and six subsequent attributes form two triangles which define a
|
|
quad. Third and fourth component are same for each vertex in quad.
|
|
This data is uploaded to buffer or used from user pointer while rendering.
|
|
Rendering uses simple shader that takes first two components and adds
|
|
first to third component and second to fourth component if more than
|
|
two components are used. First and third component are used as x coordinate
|
|
and second and fourth as y. These values are also scaled to range from -1.0 to 1.0.
|
|
Test renders only once and result is checked against reference implementations result.
|
|
|
|
Stride tests render different input type and component count combinations from buffer
|
|
and user pointer. Stride testcases test npot and pot strides and types real size as stride.
|
|
Data is passed to shader as vec4.
|
|
|
|
Normalization is tested with different input types and component counts. User
|
|
pointers are used as source for data and vec4 is used in shaders.
|
|
|
|
Output type tests pass different input types to different vector types in shader.
|
|
Also different input type and output type component counts are tested. Data is used
|
|
from user pointer.
|
|
|
|
Usage testcases test buffers with different usage parameters with different strides
|
|
and different sized types. The data is used as vec2 in shaders.
|