| /* |
| * Copyright 2015, 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. |
| * |
| * THIS FILE WAS GENERATED BY apic. DO NOT EDIT. |
| */ |
| |
| |
| #include "abort_exception.h" |
| #include "gles_imports.h" |
| #include "gles_types.h" |
| |
| #include "gles_spy.h" |
| |
| #include <gapic/log.h> |
| #include <gapic/coder/memory.h> |
| #include <gapic/coder/atom.h> |
| #include <gapic/coder/gles.h> |
| |
| #define __STDC_FORMAT_MACROS |
| #include <inttypes.h> |
| |
| #include <stdint.h> |
| |
| #include <memory> |
| #include <string> |
| |
| namespace gapii { |
| |
| std::shared_ptr<Buffer> GlesSpy::subGetBoundBufferOrError(const std::function<void()>& call, uint32_t target) { |
| switch (target) { |
| case GLenum::GL_ARRAY_BUFFER: // fall-through... |
| case GLenum::GL_ELEMENT_ARRAY_BUFFER: { |
| break; |
| } |
| case GLenum::GL_COPY_READ_BUFFER: // fall-through... |
| case GLenum::GL_COPY_WRITE_BUFFER: // fall-through... |
| case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through... |
| case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through... |
| case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through... |
| case GLenum::GL_UNIFORM_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through... |
| case GLenum::GL_DISPATCH_INDIRECT_BUFFER: // fall-through... |
| case GLenum::GL_DRAW_INDIRECT_BUFFER: // fall-through... |
| case GLenum::GL_SHADER_STORAGE_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, target); |
| } |
| } |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| BufferId l_id = findOrZero(checkNotNull(l_ctx).mBoundBuffers, target); |
| subGlErrorInvalidOperationIf(call, (l_id) == ((BufferId)(0UL))); |
| return findOrZero(checkNotNull(l_ctx).mInstances.mBuffers, l_id); |
| } |
| |
| void GlesSpy::subCopyBufferSubData(const std::function<void()>& call, uint32_t readTarget, uint32_t writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { |
| std::shared_ptr<Buffer> l__res_0 = subGetBoundBufferOrError(call, readTarget); |
| (void)l__res_0; |
| std::shared_ptr<Buffer> l__res_1 = subGetBoundBufferOrError(call, writeTarget); |
| (void)l__res_1; |
| (void)readOffset; |
| (void)writeOffset; |
| (void)size; |
| return; |
| } |
| |
| void GlesSpy::subGetBufferPointerv(const std::function<void()>& call, uint32_t target, uint32_t pname, void** params) { |
| switch (target) { |
| case GLenum::GL_ARRAY_BUFFER: // fall-through... |
| case GLenum::GL_COPY_READ_BUFFER: // fall-through... |
| case GLenum::GL_COPY_WRITE_BUFFER: // fall-through... |
| case GLenum::GL_ELEMENT_ARRAY_BUFFER: // fall-through... |
| case GLenum::GL_PIXEL_PACK_BUFFER: // fall-through... |
| case GLenum::GL_PIXEL_UNPACK_BUFFER: // fall-through... |
| case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER: // fall-through... |
| case GLenum::GL_UNIFORM_BUFFER: { |
| break; |
| } |
| case GLenum::GL_ATOMIC_COUNTER_BUFFER: // fall-through... |
| case GLenum::GL_DISPATCH_INDIRECT_BUFFER: // fall-through... |
| case GLenum::GL_DRAW_INDIRECT_BUFFER: // fall-through... |
| case GLenum::GL_SHADER_STORAGE_BUFFER: // fall-through... |
| case GLenum::GL_TEXTURE_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, target); |
| } |
| } |
| switch (pname) { |
| case GLenum::GL_BUFFER_MAP_POINTER: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, pname); |
| } |
| } |
| write(slice(params, 0ULL, 1ULL)); |
| return; |
| } |
| |
| void GlesSpy::subMapBufferRange(const std::function<void()>& call, uint32_t target, GLintptr offset, GLsizeiptr length, uint32_t access, uint8_t* ptr) { |
| std::shared_ptr<Buffer> l_b = subGetBoundBufferOrError(call, target); |
| subSupportsBits(call, access, (GLbitfield::GL_MAP_FLUSH_EXPLICIT_BIT) | ((GLbitfield::GL_MAP_INVALIDATE_BUFFER_BIT) | ((GLbitfield::GL_MAP_INVALIDATE_RANGE_BIT) | ((GLbitfield::GL_MAP_READ_BIT) | ((GLbitfield::GL_MAP_UNSYNCHRONIZED_BIT) | (GLbitfield::GL_MAP_WRITE_BIT)))))); |
| if ((access & GLbitfield::GL_MAP_FLUSH_EXPLICIT_BIT) != 0) { |
| } |
| if ((access & GLbitfield::GL_MAP_INVALIDATE_BUFFER_BIT) != 0) { |
| } |
| if ((access & GLbitfield::GL_MAP_INVALIDATE_RANGE_BIT) != 0) { |
| } |
| if ((access & GLbitfield::GL_MAP_READ_BIT) != 0) { |
| } |
| if ((access & GLbitfield::GL_MAP_UNSYNCHRONIZED_BIT) != 0) { |
| } |
| if ((access & GLbitfield::GL_MAP_WRITE_BIT) != 0) { |
| } |
| checkNotNull(l_b).mMapped = GLbooleanLabels::GL_TRUE; |
| checkNotNull(l_b).mAccessFlags = access; |
| checkNotNull(l_b).mMapPointer = ptr; |
| checkNotNull(l_b).mMapOffset = offset; |
| checkNotNull(l_b).mMapLength = length; |
| checkNotNull(l_b).mMapData = slice(ptr, (uint64_t)((GLsizeiptr)(0L)), (uint64_t)(length)); |
| mapMemory(checkNotNull(l_b).mMapData); |
| if ((access & GLbitfield::GL_MAP_READ_BIT) != 0) { |
| (void)offset; |
| Slice<uint8_t> l_dst = checkNotNull(l_b).mMapData; |
| write(l_dst); |
| } |
| return; |
| } |
| |
| void GlesSpy::subUnmapBuffer(const std::function<void()>& call, uint32_t target) { |
| std::shared_ptr<Buffer> l_b = subGetBoundBufferOrError(call, target); |
| Slice<uint8_t> copy__dst__ = copy(slice(checkNotNull(l_b).mData, (uint64_t)(checkNotNull(l_b).mMapOffset), (uint64_t)((checkNotNull(l_b).mMapOffset) + ((GLintptr)(int32_t((checkNotNull(l_b).mMapData.count())))))), checkNotNull(l_b).mMapData); |
| call(); |
| write(copy__dst__); |
| unmapMemory(checkNotNull(l_b).mMapData); |
| checkNotNull(l_b).mMapped = (GLboolean)(0U); |
| checkNotNull(l_b).mAccessFlags = (uint32_t)(0L); |
| checkNotNull(l_b).mMapOffset = (GLintptr)(0L); |
| checkNotNull(l_b).mMapLength = (GLsizeiptr)(0L); |
| checkNotNull(l_b).mMapData = Slice<uint8_t>(); |
| return; |
| } |
| |
| void GlesSpy::subDebugMessageCallback(const std::function<void()>& call, GLDEBUGPROC callback, void* userParam) { |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| checkNotNull(l_ctx).mDebug.mCallbackFunction = callback; |
| checkNotNull(l_ctx).mDebug.mCallbackUserParam = userParam; |
| return; |
| } |
| |
| void GlesSpy::subDebugMessageControl(const std::function<void()>& call, uint32_t source, uint32_t type, uint32_t severity, GLsizei count, GLuint* ids, GLboolean enabled) { |
| switch (source) { |
| case GLenum::GL_DEBUG_SOURCE_API: // fall-through... |
| case GLenum::GL_DEBUG_SOURCE_APPLICATION: // fall-through... |
| case GLenum::GL_DEBUG_SOURCE_OTHER: // fall-through... |
| case GLenum::GL_DEBUG_SOURCE_SHADER_COMPILER: // fall-through... |
| case GLenum::GL_DEBUG_SOURCE_THIRD_PARTY: // fall-through... |
| case GLenum::GL_DEBUG_SOURCE_WINDOW_SYSTEM: // fall-through... |
| case GLenum::GL_DONT_CARE: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, source); |
| } |
| } |
| switch (type) { |
| case GLenum::GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_ERROR: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_MARKER: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_OTHER: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_PERFORMANCE: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_POP_GROUP: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_PORTABILITY: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_PUSH_GROUP: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: // fall-through... |
| case GLenum::GL_DONT_CARE: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, type); |
| } |
| } |
| switch (severity) { |
| case GLenum::GL_DEBUG_SEVERITY_HIGH: // fall-through... |
| case GLenum::GL_DEBUG_SEVERITY_LOW: // fall-through... |
| case GLenum::GL_DEBUG_SEVERITY_MEDIUM: // fall-through... |
| case GLenum::GL_DEBUG_SEVERITY_NOTIFICATION: // fall-through... |
| case GLenum::GL_DONT_CARE: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, severity); |
| } |
| } |
| (void)enabled; |
| read(slice(ids, (uint64_t)((GLsizei)(0L)), (uint64_t)(count))); |
| return; |
| } |
| |
| void GlesSpy::subDebugMessageInsert(const std::function<void()>& call, uint32_t source, uint32_t type, GLuint id, uint32_t severity, GLsizei length, GLchar* message) { |
| switch (source) { |
| case GLenum::GL_DEBUG_SOURCE_APPLICATION: // fall-through... |
| case GLenum::GL_DEBUG_SOURCE_THIRD_PARTY: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, source); |
| } |
| } |
| switch (type) { |
| case GLenum::GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_ERROR: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_MARKER: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_OTHER: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_PERFORMANCE: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_POP_GROUP: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_PORTABILITY: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_PUSH_GROUP: // fall-through... |
| case GLenum::GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, type); |
| } |
| } |
| switch (severity) { |
| case GLenum::GL_DEBUG_SEVERITY_HIGH: // fall-through... |
| case GLenum::GL_DEBUG_SEVERITY_LOW: // fall-through... |
| case GLenum::GL_DEBUG_SEVERITY_MEDIUM: // fall-through... |
| case GLenum::GL_DEBUG_SEVERITY_NOTIFICATION: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, severity); |
| } |
| } |
| (void)id; |
| subReadString(call, length, message); |
| return; |
| } |
| |
| void GlesSpy::subGetObjectLabel(const std::function<void()>& call, uint32_t identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label) { |
| switch (identifier) { |
| case GLenum::GL_BUFFER: // fall-through... |
| case GLenum::GL_FRAMEBUFFER: // fall-through... |
| case GLenum::GL_PROGRAM: // fall-through... |
| case GLenum::GL_PROGRAM_PIPELINE: // fall-through... |
| case GLenum::GL_QUERY: // fall-through... |
| case GLenum::GL_RENDERBUFFER: // fall-through... |
| case GLenum::GL_SAMPLER: // fall-through... |
| case GLenum::GL_SHADER: // fall-through... |
| case GLenum::GL_TEXTURE: // fall-through... |
| case GLenum::GL_TRANSFORM_FEEDBACK: // fall-through... |
| case GLenum::GL_VERTEX_ARRAY: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, identifier); |
| } |
| } |
| (void)name; |
| GLsizei l_writeString_0_buffer_size = bufSize; |
| GLsizei* l_writeString_0_buffer_bytes_written = length; |
| GLchar* l_writeString_0_buffer = label; |
| if (((l_writeString_0_buffer) != (nullptr)) && ((l_writeString_0_buffer_size) > ((GLsizei)(0L)))) { |
| GLsizei l_buffer_size2 = l_writeString_0_buffer_size; |
| if ((l_writeString_0_buffer_bytes_written) != (nullptr)) { |
| GLsizei l_length = (GLsizei)(slice(length, 0ULL, 1ULL)[0ULL]); |
| write(slice(l_writeString_0_buffer_bytes_written, 0ULL, 1ULL), 0ULL, l_length); |
| write(slice(l_writeString_0_buffer, (uint64_t)((GLsizei)(0L)), (uint64_t)((l_length) + ((GLsizei)(1L))))); |
| } else { |
| write(slice(l_writeString_0_buffer, (uint64_t)((GLsizei)(0L)), (uint64_t)(l_buffer_size2))); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subGetObjectPtrLabel(const std::function<void()>& call, void* ptr, GLsizei bufSize, GLsizei* length, GLchar* label) { |
| (void)ptr; |
| GLsizei l_writeString_1_buffer_size = bufSize; |
| GLsizei* l_writeString_1_buffer_bytes_written = length; |
| GLchar* l_writeString_1_buffer = label; |
| if (((l_writeString_1_buffer) != (nullptr)) && ((l_writeString_1_buffer_size) > ((GLsizei)(0L)))) { |
| GLsizei l_buffer_size2 = l_writeString_1_buffer_size; |
| if ((l_writeString_1_buffer_bytes_written) != (nullptr)) { |
| GLsizei l_length = (GLsizei)(slice(length, 0ULL, 1ULL)[0ULL]); |
| write(slice(l_writeString_1_buffer_bytes_written, 0ULL, 1ULL), 0ULL, l_length); |
| write(slice(l_writeString_1_buffer, (uint64_t)((GLsizei)(0L)), (uint64_t)((l_length) + ((GLsizei)(1L))))); |
| } else { |
| write(slice(l_writeString_1_buffer, (uint64_t)((GLsizei)(0L)), (uint64_t)(l_buffer_size2))); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subGetPointerv(const std::function<void()>& call, uint32_t pname, void** params) { |
| switch (pname) { |
| case GLenum::GL_DEBUG_CALLBACK_FUNCTION: // fall-through... |
| case GLenum::GL_DEBUG_CALLBACK_USER_PARAM: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, pname); |
| } |
| } |
| write(slice(params, 0ULL, 1ULL)); |
| return; |
| } |
| |
| void GlesSpy::subObjectLabel(const std::function<void()>& call, uint32_t identifier, GLuint name, GLsizei length, GLchar* label) { |
| switch (identifier) { |
| case GLenum::GL_BUFFER: // fall-through... |
| case GLenum::GL_FRAMEBUFFER: // fall-through... |
| case GLenum::GL_PROGRAM: // fall-through... |
| case GLenum::GL_PROGRAM_PIPELINE: // fall-through... |
| case GLenum::GL_QUERY: // fall-through... |
| case GLenum::GL_RENDERBUFFER: // fall-through... |
| case GLenum::GL_SAMPLER: // fall-through... |
| case GLenum::GL_SHADER: // fall-through... |
| case GLenum::GL_TEXTURE: // fall-through... |
| case GLenum::GL_TRANSFORM_FEEDBACK: // fall-through... |
| case GLenum::GL_VERTEX_ARRAY: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, identifier); |
| } |
| } |
| (void)name; |
| subReadString(call, length, label); |
| return; |
| } |
| |
| void GlesSpy::subObjectPtrLabel(const std::function<void()>& call, void* ptr, GLsizei length, GLchar* label) { |
| (void)ptr; |
| subReadString(call, length, label); |
| return; |
| } |
| |
| void GlesSpy::subPopDebugGroup(const std::function<void()>& call) { |
| return; |
| } |
| |
| void GlesSpy::subCheckPrimitiveType(const std::function<void()>& call, uint32_t draw_mode) { |
| switch (draw_mode) { |
| case GLenum::GL_LINES: // fall-through... |
| case GLenum::GL_LINE_LOOP: // fall-through... |
| case GLenum::GL_LINE_STRIP: // fall-through... |
| case GLenum::GL_POINTS: // fall-through... |
| case GLenum::GL_TRIANGLES: // fall-through... |
| case GLenum::GL_TRIANGLE_FAN: // fall-through... |
| case GLenum::GL_TRIANGLE_STRIP: { |
| break; |
| } |
| case GLenum::GL_LINES_ADJACENCY: // fall-through... |
| case GLenum::GL_LINE_STRIP_ADJACENCY: // fall-through... |
| case GLenum::GL_PATCHES: // fall-through... |
| case GLenum::GL_TRIANGLES_ADJACENCY: // fall-through... |
| case GLenum::GL_TRIANGLE_STRIP_ADJACENCY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, draw_mode); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subCheckIndicesType(const std::function<void()>& call, uint32_t indices_type) { |
| switch (indices_type) { |
| case GLenum::GL_UNSIGNED_BYTE: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT: { |
| break; |
| } |
| case GLenum::GL_UNSIGNED_INT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, indices_type); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subDrawArraysInstanced(const std::function<void()>& call, uint32_t draw_mode, GLint first_index, GLsizei indices_count, GLsizei instance_count) { |
| subCheckPrimitiveType(call, draw_mode); |
| subGlErrorInvalidValueIf(call, (first_index) < ((GLint)(0L))); |
| subGlErrorInvalidValueIf(call, (indices_count) < ((GLsizei)(0L))); |
| subGlErrorInvalidValueIf(call, (instance_count) < ((GLsizei)(0L))); |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| subReadVertexArrays(call, l_ctx, (uint32_t)(first_index), (uint32_t)(indices_count), (uint32_t)(instance_count)); |
| return; |
| } |
| |
| void GlesSpy::subDrawElements(const std::function<void()>& call, std::shared_ptr<Context> ctx, uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLsizei instance_count, GLint base_vertex) { |
| subCheckPrimitiveType(call, draw_mode); |
| subGlErrorInvalidValueIf(call, (indices_count) < ((GLsizei)(0L))); |
| subCheckIndicesType(call, indices_type); |
| subGlErrorInvalidValueIf(call, (instance_count) < ((GLsizei)(0L))); |
| if ((indices_count) > ((GLsizei)(0L))) { |
| uint32_t l_count = (uint32_t)(indices_count); |
| BufferId l_id = findOrZero(checkNotNull(ctx).mBoundBuffers, GLenum::GL_ELEMENT_ARRAY_BUFFER); |
| if ((l_id) != ((BufferId)(0UL))) { |
| Slice<uint8_t> l_index_data = checkNotNull(findOrZero(checkNotNull(ctx).mInstances.mBuffers, l_id)).mData; |
| uint32_t l_offset = (uint32_t)((uint64_t)(indices)); |
| uint32_t l_first = minIndex(l_index_data.begin(), indices_type, l_offset, l_count); |
| uint32_t l_last = maxIndex(l_index_data.begin(), indices_type, l_offset, l_count); |
| subReadVertexArrays(call, ctx, (l_first) + ((uint32_t)(base_vertex)), ((l_last) - (l_first)) + (1UL), (uint32_t)(instance_count)); |
| } else { |
| uint8_t* l_index_data = (uint8_t*)(indices); |
| uint32_t l_first = minIndex(l_index_data, indices_type, 0UL, l_count); |
| uint32_t l_last = maxIndex(l_index_data, indices_type, 0UL, l_count); |
| subReadVertexArrays(call, ctx, (l_first) + ((uint32_t)(base_vertex)), ((l_last) - (l_first)) + (1UL), (uint32_t)(instance_count)); |
| uint32_t l__res_0 = subIndexSize(call, indices_type); |
| read(slice(l_index_data, (uint64_t)(0UL), (uint64_t)((l_count) * (l__res_0)))); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subDrawElementsInstancedBaseVertex(const std::function<void()>& call, uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLsizei instance_count, GLint base_vertex) { |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| subDrawElements(call, l_ctx, draw_mode, indices_count, indices_type, indices, instance_count, base_vertex); |
| return; |
| } |
| |
| void GlesSpy::subDrawRangeElementsBaseVertex(const std::function<void()>& call, uint32_t draw_mode, GLuint start, GLuint end, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLint base_vertex) { |
| subGlErrorInvalidValueIf(call, (end) < (start)); |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| subDrawElements(call, l_ctx, draw_mode, indices_count, indices_type, indices, (GLsizei)(1L), base_vertex); |
| return; |
| } |
| |
| void GlesSpy::subBlendEquationSeparatei(const std::function<void()>& call, DrawBufferIndex buf, uint32_t modeRGB, uint32_t modeAlpha) { |
| subSetBlendEquation(call, buf, (GLint)(1L), modeRGB, modeAlpha); |
| return; |
| } |
| |
| void GlesSpy::subCheckBlendEquation(const std::function<void()>& call, uint32_t equation) { |
| switch (equation) { |
| case GLenum::GL_FUNC_ADD: // fall-through... |
| case GLenum::GL_FUNC_REVERSE_SUBTRACT: // fall-through... |
| case GLenum::GL_FUNC_SUBTRACT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| break; |
| } |
| case GLenum::GL_MAX: // fall-through... |
| case GLenum::GL_MIN: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, equation); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subSetBlendEquation(const std::function<void()>& call, DrawBufferIndex first_buffer, GLint buffer_count, uint32_t rgb, uint32_t alpha) { |
| subCheckBlendEquation(call, rgb); |
| subCheckBlendEquation(call, alpha); |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| for (DrawBufferIndex l_i = first_buffer; l_i < (first_buffer) + ((DrawBufferIndex)(buffer_count)); ++l_i) { |
| BlendState l_blend = findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i); |
| l_blend.mEquationRgb = rgb; |
| l_blend.mEquationAlpha = alpha; |
| checkNotNull(l_ctx).mFragmentOperations.mBlend[l_i] = l_blend; |
| } |
| return; |
| } |
| |
| void GlesSpy::subBlendFuncSeparatei(const std::function<void()>& call, DrawBufferIndex buf, uint32_t srcRGB, uint32_t dstRGB, uint32_t srcAlpha, uint32_t dstAlpha) { |
| subSetBlendFunc(call, buf, (GLint)(1L), srcRGB, dstRGB, srcAlpha, dstAlpha); |
| return; |
| } |
| |
| void GlesSpy::subCheckBlendFunc(const std::function<void()>& call, uint32_t factor) { |
| switch (factor) { |
| case GLenum::GL_CONSTANT_ALPHA: // fall-through... |
| case GLenum::GL_CONSTANT_COLOR: // fall-through... |
| case GLenum::GL_DST_ALPHA: // fall-through... |
| case GLenum::GL_DST_COLOR: // fall-through... |
| case GLenum::GL_ONE: // fall-through... |
| case GLenum::GL_ONE_MINUS_CONSTANT_ALPHA: // fall-through... |
| case GLenum::GL_ONE_MINUS_CONSTANT_COLOR: // fall-through... |
| case GLenum::GL_ONE_MINUS_DST_ALPHA: // fall-through... |
| case GLenum::GL_ONE_MINUS_DST_COLOR: // fall-through... |
| case GLenum::GL_ONE_MINUS_SRC_ALPHA: // fall-through... |
| case GLenum::GL_ONE_MINUS_SRC_COLOR: // fall-through... |
| case GLenum::GL_SRC_ALPHA: // fall-through... |
| case GLenum::GL_SRC_ALPHA_SATURATE: // fall-through... |
| case GLenum::GL_SRC_COLOR: // fall-through... |
| case GLenum::GL_ZERO: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, factor); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subSetBlendFunc(const std::function<void()>& call, DrawBufferIndex first_buffer, GLint buffer_count, uint32_t srcRgb, uint32_t dstRgb, uint32_t srcAlpha, uint32_t dstAlpha) { |
| subCheckBlendFunc(call, srcRgb); |
| subCheckBlendFunc(call, dstRgb); |
| subCheckBlendFunc(call, srcAlpha); |
| subCheckBlendFunc(call, dstAlpha); |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| for (DrawBufferIndex l_i = first_buffer; l_i < (first_buffer) + ((DrawBufferIndex)(buffer_count)); ++l_i) { |
| BlendState l_blend = findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i); |
| l_blend.mSrcRgb = srcRgb; |
| l_blend.mDstRgb = dstRgb; |
| l_blend.mSrcAlpha = srcAlpha; |
| l_blend.mDstAlpha = dstAlpha; |
| checkNotNull(l_ctx).mFragmentOperations.mBlend[l_i] = l_blend; |
| } |
| return; |
| } |
| |
| void GlesSpy::subStencilFuncSeparate(const std::function<void()>& call, uint32_t face, uint32_t function, GLint reference_value, GLuint mask) { |
| switch (face) { |
| case GLenum::GL_BACK: // fall-through... |
| case GLenum::GL_FRONT: // fall-through... |
| case GLenum::GL_FRONT_AND_BACK: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, face); |
| } |
| } |
| switch (function) { |
| case GLenum::GL_ALWAYS: // fall-through... |
| case GLenum::GL_EQUAL: // fall-through... |
| case GLenum::GL_GEQUAL: // fall-through... |
| case GLenum::GL_GREATER: // fall-through... |
| case GLenum::GL_LEQUAL: // fall-through... |
| case GLenum::GL_LESS: // fall-through... |
| case GLenum::GL_NEVER: // fall-through... |
| case GLenum::GL_NOTEQUAL: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, function); |
| } |
| } |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| if (((face) == (GLenum::GL_FRONT)) || ((face) == (GLenum::GL_FRONT_AND_BACK))) { |
| checkNotNull(l_ctx).mFragmentOperations.mStencil.mFunc = function; |
| checkNotNull(l_ctx).mFragmentOperations.mStencil.mRef = reference_value; |
| checkNotNull(l_ctx).mFragmentOperations.mStencil.mValueMask = mask; |
| } |
| if (((face) == (GLenum::GL_BACK)) || ((face) == (GLenum::GL_FRONT_AND_BACK))) { |
| checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackFunc = function; |
| checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackRef = reference_value; |
| checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackValueMask = mask; |
| } |
| return; |
| } |
| |
| void GlesSpy::subCheckStencilOp(const std::function<void()>& call, uint32_t op) { |
| switch (op) { |
| case GLenum::GL_DECR: // fall-through... |
| case GLenum::GL_DECR_WRAP: // fall-through... |
| case GLenum::GL_INCR: // fall-through... |
| case GLenum::GL_INCR_WRAP: // fall-through... |
| case GLenum::GL_INVERT: // fall-through... |
| case GLenum::GL_KEEP: // fall-through... |
| case GLenum::GL_REPLACE: // fall-through... |
| case GLenum::GL_ZERO: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, op); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subDrawBuffers(const std::function<void()>& call, GLsizei n, uint32_t* buffers) { |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| Slice<uint32_t> l_b = slice(buffers, (uint64_t)((GLsizei)(0L)), (uint64_t)(n)); |
| std::shared_ptr<Framebuffer> l_framebuffer = subGetBoundFramebufferOrErrorInvalidEnum(call, GLenum::GL_DRAW_FRAMEBUFFER); |
| for (GLint l_i = (GLint)(0L); l_i < (GLint)(n); ++l_i) { |
| checkNotNull(l_framebuffer).mDrawBuffer[l_i] = read(l_b, (uint64_t)(l_i)); |
| } |
| for (GLint l_i = (GLint)(n); l_i < checkNotNull(l_ctx).mConstants.mMaxDrawBuffers; ++l_i) { |
| checkNotNull(l_framebuffer).mDrawBuffer[l_i] = GLenum::GL_NONE; |
| } |
| return; |
| } |
| |
| void GlesSpy::subCheckReadPixels(const std::function<void()>& call, GLsizei width, GLsizei height, uint32_t format, uint32_t type) { |
| switch (format) { |
| case GLenum::GL_ALPHA: // fall-through... |
| case GLenum::GL_RGB: // fall-through... |
| case GLenum::GL_RGBA: { |
| break; |
| } |
| case GLenum::GL_RED: // fall-through... |
| case GLenum::GL_RED_INTEGER: // fall-through... |
| case GLenum::GL_RG: // fall-through... |
| case GLenum::GL_RG_INTEGER: // fall-through... |
| case GLenum::GL_RGB_INTEGER: // fall-through... |
| case GLenum::GL_LUMINANCE_ALPHA: // fall-through... |
| case GLenum::GL_LUMINANCE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, format); |
| } |
| } |
| switch (type) { |
| case GLenum::GL_UNSIGNED_SHORT_5_6_5: { |
| subGlErrorInvalidOperationIf(call, (format) != (GLenum::GL_RGB)); |
| break; |
| } |
| case GLenum::GL_UNSIGNED_SHORT_4_4_4_4: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT_5_5_5_1: { |
| subGlErrorInvalidOperationIf(call, (format) != (GLenum::GL_RGBA)); |
| break; |
| } |
| case GLenum::GL_UNSIGNED_BYTE: { |
| break; |
| } |
| case GLenum::GL_FLOAT: // fall-through... |
| case GLenum::GL_INT: // fall-through... |
| case GLenum::GL_UNSIGNED_INT: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_5_9_9_9_REV: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, type); |
| } |
| } |
| subGlErrorInvalidValueIf(call, ((width) < ((GLsizei)(0L))) || ((height) < ((GLsizei)(0L)))); |
| return; |
| } |
| |
| void GlesSpy::subReadnPixels(const std::function<void()>& call, GLint x, GLint y, GLsizei width, GLsizei height, uint32_t format, uint32_t type, GLsizei bufSize, void* data) { |
| subCheckReadPixels(call, width, height, format, type); |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| if (((findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_PIXEL_PACK_BUFFER)) == ((BufferId)(0UL))) && ((data) != (nullptr))) { |
| uint32_t l_requiredSize = subImageSize(call, (uint32_t)(width), (uint32_t)(height), format, type); |
| subGlErrorInvalidOperationIf(call, ((GLsizei)(l_requiredSize)) > (bufSize)); |
| write(slice(data, (uint64_t)(0UL), (uint64_t)(l_requiredSize))); |
| } |
| (void)x; |
| (void)y; |
| (void)width; |
| (void)height; |
| return; |
| } |
| |
| void GlesSpy::subDisablei(const std::function<void()>& call, uint32_t capability, GLuint index) { |
| subSetCapability(call, capability, true, index, GLbooleanLabels::GL_FALSE); |
| return; |
| } |
| |
| void GlesSpy::subReadString(const std::function<void()>& call, GLsizei length, GLchar* buffer) { |
| if ((buffer) != (nullptr)) { |
| if ((length) < ((GLsizei)(0L))) { |
| (void)string((char*)(buffer)); |
| } else { |
| read(slice(buffer, (uint64_t)((GLsizei)(0L)), (uint64_t)(length))); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subCheckShader(const std::function<void()>& call, std::shared_ptr<Context> ctx, ShaderId shader) { |
| if (!(checkNotNull(ctx).mInstances.mShaders.count(shader) > 0)) { |
| if (!(checkNotNull(ctx).mInstances.mPrograms.count((ProgramId)(shader)) > 0)) { |
| subGlErrorInvalidValue(call); |
| } else { |
| subGlErrorInvalidOperation(call); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subGetnUniformiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei bufSize, GLint* values) { |
| ProgramId l_GetnUniformfv_2_program = program; |
| UniformLocation l_GetnUniformfv_2_location = location; |
| GLsizei l_GetnUniformfv_2_bufSize = bufSize; |
| GLint* l_GetnUniformfv_2_values = values; |
| (void)l_GetnUniformfv_2_program; |
| (void)l_GetnUniformfv_2_location; |
| write(slice((char*)(l_GetnUniformfv_2_values), (uint64_t)((GLsizei)(0L)), (uint64_t)(l_GetnUniformfv_2_bufSize))); |
| return; |
| } |
| |
| void GlesSpy::subProgramBinary(const std::function<void()>& call, ProgramId program, uint32_t binaryFormat, void* binary, GLsizei length) { |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| subCheckProgram(call, l_ctx, program); |
| std::shared_ptr<Program> l_p = findOrZero(checkNotNull(l_ctx).mInstances.mPrograms, program); |
| switch (binaryFormat) { |
| case GLenum::GL_Z400_BINARY_AMD: { |
| checkNotNull(l_p).mBinary = clone(slice(binary, (uint64_t)((GLsizei)(0L)), (uint64_t)(length)).as<uint8_t>()); |
| checkNotNull(l_p).mPrecompiled = true; |
| resolveAttributesAndUniforms(l_p, program); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, binaryFormat); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform1f(const std::function<void()>& call, ProgramId program, UniformLocation location, GLfloat value0) { |
| Slice<GLfloat> l_v = make<GLfloat>(1ULL); |
| write(l_v, 0ULL, value0); |
| ProgramId l_ProgramUniformv_4_program = program; |
| UniformLocation l_ProgramUniformv_4_location = location; |
| Slice<GLfloat> l_ProgramUniformv_4_values = l_v; |
| uint32_t l_ProgramUniformv_4_type = GLenum::GL_FLOAT; |
| subSetProgramUniform(call, l_ProgramUniformv_4_program, l_ProgramUniformv_4_location, l_ProgramUniformv_4_values.as<uint8_t>(), l_ProgramUniformv_4_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform1fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLfloat* values) { |
| Slice<GLfloat> l_v = slice(values, (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformv_5_program = program; |
| UniformLocation l_ProgramUniformv_5_location = location; |
| Slice<GLfloat> l_ProgramUniformv_5_values = l_v; |
| uint32_t l_ProgramUniformv_5_type = GLenum::GL_FLOAT; |
| subSetProgramUniform(call, l_ProgramUniformv_5_program, l_ProgramUniformv_5_location, l_ProgramUniformv_5_values.as<uint8_t>(), l_ProgramUniformv_5_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform1ui(const std::function<void()>& call, ProgramId program, UniformLocation location, GLuint value0) { |
| Slice<GLuint> l_v = make<GLuint>(1ULL); |
| write(l_v, 0ULL, value0); |
| ProgramId l_ProgramUniformv_8_program = program; |
| UniformLocation l_ProgramUniformv_8_location = location; |
| Slice<GLuint> l_ProgramUniformv_8_values = l_v; |
| uint32_t l_ProgramUniformv_8_type = GLenum::GL_UNSIGNED_INT; |
| subSetProgramUniform(call, l_ProgramUniformv_8_program, l_ProgramUniformv_8_location, l_ProgramUniformv_8_values.as<uint8_t>(), l_ProgramUniformv_8_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform1uiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLuint* values) { |
| Slice<GLuint> l_v = slice(values, (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformv_9_program = program; |
| UniformLocation l_ProgramUniformv_9_location = location; |
| Slice<GLuint> l_ProgramUniformv_9_values = l_v; |
| uint32_t l_ProgramUniformv_9_type = GLenum::GL_UNSIGNED_INT; |
| subSetProgramUniform(call, l_ProgramUniformv_9_program, l_ProgramUniformv_9_location, l_ProgramUniformv_9_values.as<uint8_t>(), l_ProgramUniformv_9_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform2i(const std::function<void()>& call, ProgramId program, UniformLocation location, GLint value0, GLint value1) { |
| Slice<Vec2i> l_v = make<Vec2i>(1ULL); |
| write(l_v, 0ULL, {value0, value1}); |
| ProgramId l_ProgramUniformv_12_program = program; |
| UniformLocation l_ProgramUniformv_12_location = location; |
| Slice<Vec2i> l_ProgramUniformv_12_values = l_v; |
| uint32_t l_ProgramUniformv_12_type = GLenum::GL_INT_VEC2; |
| subSetProgramUniform(call, l_ProgramUniformv_12_program, l_ProgramUniformv_12_location, l_ProgramUniformv_12_values.as<uint8_t>(), l_ProgramUniformv_12_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform2iv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLint* values) { |
| Slice<Vec2i> l_v = slice((Vec2i*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformv_13_program = program; |
| UniformLocation l_ProgramUniformv_13_location = location; |
| Slice<Vec2i> l_ProgramUniformv_13_values = l_v; |
| uint32_t l_ProgramUniformv_13_type = GLenum::GL_INT_VEC2; |
| subSetProgramUniform(call, l_ProgramUniformv_13_program, l_ProgramUniformv_13_location, l_ProgramUniformv_13_values.as<uint8_t>(), l_ProgramUniformv_13_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform3f(const std::function<void()>& call, ProgramId program, UniformLocation location, GLfloat value0, GLfloat value1, GLfloat value2) { |
| Slice<Vec3f> l_v = make<Vec3f>(1ULL); |
| write(l_v, 0ULL, {value0, value1, value2}); |
| ProgramId l_ProgramUniformv_16_program = program; |
| UniformLocation l_ProgramUniformv_16_location = location; |
| Slice<Vec3f> l_ProgramUniformv_16_values = l_v; |
| uint32_t l_ProgramUniformv_16_type = GLenum::GL_FLOAT_VEC3; |
| subSetProgramUniform(call, l_ProgramUniformv_16_program, l_ProgramUniformv_16_location, l_ProgramUniformv_16_values.as<uint8_t>(), l_ProgramUniformv_16_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform3fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLfloat* values) { |
| Slice<Vec3f> l_v = slice((Vec3f*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformv_17_program = program; |
| UniformLocation l_ProgramUniformv_17_location = location; |
| Slice<Vec3f> l_ProgramUniformv_17_values = l_v; |
| uint32_t l_ProgramUniformv_17_type = GLenum::GL_FLOAT_VEC3; |
| subSetProgramUniform(call, l_ProgramUniformv_17_program, l_ProgramUniformv_17_location, l_ProgramUniformv_17_values.as<uint8_t>(), l_ProgramUniformv_17_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform3ui(const std::function<void()>& call, ProgramId program, UniformLocation location, GLuint value0, GLuint value1, GLuint value2) { |
| Slice<Vec3u> l_v = make<Vec3u>(1ULL); |
| write(l_v, 0ULL, {value0, value1, value2}); |
| ProgramId l_ProgramUniformv_20_program = program; |
| UniformLocation l_ProgramUniformv_20_location = location; |
| Slice<Vec3u> l_ProgramUniformv_20_values = l_v; |
| uint32_t l_ProgramUniformv_20_type = GLenum::GL_UNSIGNED_INT_VEC3; |
| subSetProgramUniform(call, l_ProgramUniformv_20_program, l_ProgramUniformv_20_location, l_ProgramUniformv_20_values.as<uint8_t>(), l_ProgramUniformv_20_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform3uiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLuint* values) { |
| Slice<Vec3u> l_v = slice((Vec3u*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformv_21_program = program; |
| UniformLocation l_ProgramUniformv_21_location = location; |
| Slice<Vec3u> l_ProgramUniformv_21_values = l_v; |
| uint32_t l_ProgramUniformv_21_type = GLenum::GL_UNSIGNED_INT_VEC3; |
| subSetProgramUniform(call, l_ProgramUniformv_21_program, l_ProgramUniformv_21_location, l_ProgramUniformv_21_values.as<uint8_t>(), l_ProgramUniformv_21_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform4i(const std::function<void()>& call, ProgramId program, UniformLocation location, GLint value0, GLint value1, GLint value2, GLint value3) { |
| Slice<Vec4i> l_v = make<Vec4i>(1ULL); |
| write(l_v, 0ULL, {value0, value1, value2, value3}); |
| ProgramId l_ProgramUniformv_24_program = program; |
| UniformLocation l_ProgramUniformv_24_location = location; |
| Slice<Vec4i> l_ProgramUniformv_24_values = l_v; |
| uint32_t l_ProgramUniformv_24_type = GLenum::GL_INT_VEC4; |
| subSetProgramUniform(call, l_ProgramUniformv_24_program, l_ProgramUniformv_24_location, l_ProgramUniformv_24_values.as<uint8_t>(), l_ProgramUniformv_24_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniform4iv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLint* values) { |
| Slice<Vec4i> l_v = slice((Vec4i*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformv_25_program = program; |
| UniformLocation l_ProgramUniformv_25_location = location; |
| Slice<Vec4i> l_ProgramUniformv_25_values = l_v; |
| uint32_t l_ProgramUniformv_25_type = GLenum::GL_INT_VEC4; |
| subSetProgramUniform(call, l_ProgramUniformv_25_program, l_ProgramUniformv_25_location, l_ProgramUniformv_25_values.as<uint8_t>(), l_ProgramUniformv_25_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniformMatrix2fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values) { |
| Slice<Mat2f> l_v = slice((Mat2f*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformMatrixv_28_program = program; |
| UniformLocation l_ProgramUniformMatrixv_28_location = location; |
| GLboolean l_ProgramUniformMatrixv_28_transpose = transpose; |
| Slice<Mat2f> l_ProgramUniformMatrixv_28_values = l_v; |
| uint32_t l_ProgramUniformMatrixv_28_type = GLenum::GL_FLOAT_MAT2; |
| (void)l_ProgramUniformMatrixv_28_transpose; |
| subSetProgramUniform(call, l_ProgramUniformMatrixv_28_program, l_ProgramUniformMatrixv_28_location, l_ProgramUniformMatrixv_28_values.as<uint8_t>(), l_ProgramUniformMatrixv_28_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniformMatrix2x4fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values) { |
| Slice<Mat2x4f> l_v = slice((Mat2x4f*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformMatrixv_30_program = program; |
| UniformLocation l_ProgramUniformMatrixv_30_location = location; |
| GLboolean l_ProgramUniformMatrixv_30_transpose = transpose; |
| Slice<Mat2x4f> l_ProgramUniformMatrixv_30_values = l_v; |
| uint32_t l_ProgramUniformMatrixv_30_type = GLenum::GL_FLOAT_MAT2x4; |
| (void)l_ProgramUniformMatrixv_30_transpose; |
| subSetProgramUniform(call, l_ProgramUniformMatrixv_30_program, l_ProgramUniformMatrixv_30_location, l_ProgramUniformMatrixv_30_values.as<uint8_t>(), l_ProgramUniformMatrixv_30_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniformMatrix4fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values) { |
| Slice<Mat4f> l_v = slice((Mat4f*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformMatrixv_34_program = program; |
| UniformLocation l_ProgramUniformMatrixv_34_location = location; |
| GLboolean l_ProgramUniformMatrixv_34_transpose = transpose; |
| Slice<Mat4f> l_ProgramUniformMatrixv_34_values = l_v; |
| uint32_t l_ProgramUniformMatrixv_34_type = GLenum::GL_FLOAT_MAT4; |
| (void)l_ProgramUniformMatrixv_34_transpose; |
| subSetProgramUniform(call, l_ProgramUniformMatrixv_34_program, l_ProgramUniformMatrixv_34_location, l_ProgramUniformMatrixv_34_values.as<uint8_t>(), l_ProgramUniformMatrixv_34_type); |
| return; |
| } |
| |
| void GlesSpy::subProgramUniformMatrix4x2fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values) { |
| Slice<Mat4x2f> l_v = slice((Mat4x2f*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| ProgramId l_ProgramUniformMatrixv_35_program = program; |
| UniformLocation l_ProgramUniformMatrixv_35_location = location; |
| GLboolean l_ProgramUniformMatrixv_35_transpose = transpose; |
| Slice<Mat4x2f> l_ProgramUniformMatrixv_35_values = l_v; |
| uint32_t l_ProgramUniformMatrixv_35_type = GLenum::GL_FLOAT_MAT4x2; |
| (void)l_ProgramUniformMatrixv_35_transpose; |
| subSetProgramUniform(call, l_ProgramUniformMatrixv_35_program, l_ProgramUniformMatrixv_35_location, l_ProgramUniformMatrixv_35_values.as<uint8_t>(), l_ProgramUniformMatrixv_35_type); |
| return; |
| } |
| |
| void GlesSpy::subUniformMatrix2x4fv(const std::function<void()>& call, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values) { |
| Slice<Mat2x4f> l_v = slice((Mat2x4f*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| UniformLocation l_UniformMatrixv_38_location = location; |
| GLboolean l_UniformMatrixv_38_transpose = transpose; |
| Slice<Mat2x4f> l_UniformMatrixv_38_values = l_v; |
| uint32_t l_UniformMatrixv_38_type = GLenum::GL_FLOAT_MAT2x4; |
| (void)l_UniformMatrixv_38_transpose; |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| subSetProgramUniform(call, checkNotNull(l_ctx).mBoundProgram, l_UniformMatrixv_38_location, l_UniformMatrixv_38_values.as<uint8_t>(), l_UniformMatrixv_38_type); |
| return; |
| } |
| |
| void GlesSpy::subUniformMatrix4x2fv(const std::function<void()>& call, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values) { |
| Slice<Mat4x2f> l_v = slice((Mat4x2f*)(values), (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| UniformLocation l_UniformMatrixv_41_location = location; |
| GLboolean l_UniformMatrixv_41_transpose = transpose; |
| Slice<Mat4x2f> l_UniformMatrixv_41_values = l_v; |
| uint32_t l_UniformMatrixv_41_type = GLenum::GL_FLOAT_MAT4x2; |
| (void)l_UniformMatrixv_41_transpose; |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| subSetProgramUniform(call, checkNotNull(l_ctx).mBoundProgram, l_UniformMatrixv_41_location, l_UniformMatrixv_41_values.as<uint8_t>(), l_UniformMatrixv_41_type); |
| return; |
| } |
| |
| void GlesSpy::subGetStateVariable_GLboolean(const std::function<void()>& call, uint32_t name, bool isIndexed, GLuint index, GLboolean* v) { |
| uint32_t l_GetStateVariable_43_name = name; |
| bool l_GetStateVariable_43_isIndexed = isIndexed; |
| GLuint l_GetStateVariable_43_index = index; |
| GLboolean* l_GetStateVariable_43_v = v; |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| call(); |
| switch (l_GetStateVariable_43_name) { |
| case GLenum::GL_ACTIVE_TEXTURE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mActiveTextureUnit)); |
| break; |
| } |
| case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mAliasedLineWidthRange, 0ULL))); |
| write(l_s, 1ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mAliasedLineWidthRange, 1ULL))); |
| break; |
| } |
| case GLenum::GL_ALIASED_POINT_SIZE_RANGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mAliasedPointSizeRange, 0ULL))); |
| write(l_s, 1ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mAliasedPointSizeRange, 1ULL))); |
| break; |
| } |
| case GLenum::GL_ALPHA_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_ARRAY_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_ARRAY_BUFFER))); |
| break; |
| } |
| case GLenum::GL_ATOMIC_COUNTER_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mAtomicCounterBuffer, l_GetStateVariable_43_index).mBinding)); |
| } else { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_ATOMIC_COUNTER_BUFFER))); |
| } |
| break; |
| } |
| case GLenum::GL_ATOMIC_COUNTER_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mAtomicCounterBuffer, l_GetStateVariable_43_index).mSize)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_ATOMIC_COUNTER_BUFFER_START: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mAtomicCounterBuffer, l_GetStateVariable_43_index).mStart)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_BLEND: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mEnabled); |
| break; |
| } |
| case GLenum::GL_BLEND_COLOR: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 4ULL); |
| write(l_s, 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mBlendColor.mRed)); |
| write(l_s, 1ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mBlendColor.mGreen)); |
| write(l_s, 2ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mBlendColor.mBlue)); |
| write(l_s, 3ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mBlendColor.mAlpha)); |
| break; |
| } |
| case GLenum::GL_BLEND_DST_ALPHA: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mDstAlpha)); |
| break; |
| } |
| case GLenum::GL_BLEND_DST_RGB: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mDstRgb)); |
| break; |
| } |
| case GLenum::GL_BLEND_EQUATION_ALPHA: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mEquationAlpha)); |
| break; |
| } |
| case GLenum::GL_BLEND_EQUATION_RGB: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mEquationRgb)); |
| break; |
| } |
| case GLenum::GL_BLEND_SRC_ALPHA: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mSrcAlpha)); |
| break; |
| } |
| case GLenum::GL_BLEND_SRC_RGB: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mSrcRgb)); |
| break; |
| } |
| case GLenum::GL_BLUE_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_COLOR_CLEAR_VALUE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 4ULL); |
| write(l_s, 0ULL, (GLboolean)(checkNotNull(l_ctx).mFramebuffer.mColorClearValue[0ULL])); |
| write(l_s, 1ULL, (GLboolean)(checkNotNull(l_ctx).mFramebuffer.mColorClearValue[1ULL])); |
| write(l_s, 2ULL, (GLboolean)(checkNotNull(l_ctx).mFramebuffer.mColorClearValue[2ULL])); |
| write(l_s, 3ULL, (GLboolean)(checkNotNull(l_ctx).mFramebuffer.mColorClearValue[3ULL])); |
| break; |
| } |
| case GLenum::GL_COLOR_WRITEMASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 4ULL); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_43_index); |
| write(l_s, 0ULL, findOrZero(checkNotNull(l_ctx).mFramebuffer.mColorWritemask, l_i)[0ULL]); |
| write(l_s, 1ULL, findOrZero(checkNotNull(l_ctx).mFramebuffer.mColorWritemask, l_i)[1ULL]); |
| write(l_s, 2ULL, findOrZero(checkNotNull(l_ctx).mFramebuffer.mColorWritemask, l_i)[2ULL]); |
| write(l_s, 3ULL, findOrZero(checkNotNull(l_ctx).mFramebuffer.mColorWritemask, l_i)[3ULL]); |
| break; |
| } |
| case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, (uint64_t)((GLint)(0L)), (uint64_t)(checkNotNull(l_ctx).mConstants.mNumCompressedTextureFormats)); |
| for (GLint l_i = (GLint)(0L); l_i < checkNotNull(l_ctx).mConstants.mNumCompressedTextureFormats; ++l_i) { |
| write(l_s, (uint64_t)(l_i), (GLboolean)(read(checkNotNull(l_ctx).mConstants.mCompressedTextureFormats, (uint64_t)(l_i)))); |
| } |
| break; |
| } |
| case GLenum::GL_CONTEXT_FLAGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mContextFlags)); |
| break; |
| } |
| case GLenum::GL_CONTEXT_ROBUST_ACCESS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_COPY_READ_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_COPY_READ_BUFFER))); |
| break; |
| } |
| case GLenum::GL_COPY_WRITE_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_COPY_WRITE_BUFFER))); |
| break; |
| } |
| case GLenum::GL_CULL_FACE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mCullFace); |
| break; |
| } |
| case GLenum::GL_CULL_FACE_MODE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mCullFaceMode)); |
| break; |
| } |
| case GLenum::GL_CURRENT_PROGRAM: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mBoundProgram)); |
| break; |
| } |
| case GLenum::GL_DEBUG_GROUP_STACK_DEPTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DEBUG_LOGGED_MESSAGES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DEPTH_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DEPTH_CLEAR_VALUE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFramebuffer.mDepthClearValue)); |
| break; |
| } |
| case GLenum::GL_DEPTH_FUNC: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mDepth.mFunc)); |
| break; |
| } |
| case GLenum::GL_DEPTH_RANGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mDepthRange[0ULL])); |
| write(l_s, 1ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mDepthRange[1ULL])); |
| break; |
| } |
| case GLenum::GL_DEPTH_TEST: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mFragmentOperations.mDepth.mTest); |
| break; |
| } |
| case GLenum::GL_DEPTH_WRITEMASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mFramebuffer.mDepthWritemask); |
| break; |
| } |
| case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_DISPATCH_INDIRECT_BUFFER))); |
| break; |
| } |
| case GLenum::GL_DITHER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mFragmentOperations.mDither); |
| break; |
| } |
| case GLenum::GL_DRAW_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DRAW_BUFFER0: // fall-through... |
| case GLenum::GL_DRAW_BUFFER1: // fall-through... |
| case GLenum::GL_DRAW_BUFFER2: // fall-through... |
| case GLenum::GL_DRAW_BUFFER3: // fall-through... |
| case GLenum::GL_DRAW_BUFFER4: // fall-through... |
| case GLenum::GL_DRAW_BUFFER5: // fall-through... |
| case GLenum::GL_DRAW_BUFFER6: // fall-through... |
| case GLenum::GL_DRAW_BUFFER7: // fall-through... |
| case GLenum::GL_DRAW_BUFFER8: // fall-through... |
| case GLenum::GL_DRAW_BUFFER9: // fall-through... |
| case GLenum::GL_DRAW_BUFFER10: // fall-through... |
| case GLenum::GL_DRAW_BUFFER11: // fall-through... |
| case GLenum::GL_DRAW_BUFFER12: // fall-through... |
| case GLenum::GL_DRAW_BUFFER13: // fall-through... |
| case GLenum::GL_DRAW_BUFFER14: // fall-through... |
| case GLenum::GL_DRAW_BUFFER15: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| std::shared_ptr<Framebuffer> l_framebuffer = subGetBoundFramebufferOrErrorInvalidEnum(call, GLenum::GL_DRAW_FRAMEBUFFER); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_framebuffer).mDrawBuffer, (GLint)((l_GetStateVariable_43_name) - (GLenum::GL_DRAW_BUFFER0))))); |
| break; |
| } |
| case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundFramebuffers, GLenum::GL_FRAMEBUFFER))); |
| break; |
| } |
| case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_ELEMENT_ARRAY_BUFFER))); |
| break; |
| } |
| case GLenum::GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mFragmentInterpolationOffsetBits)); |
| break; |
| } |
| case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_FRONT_FACE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mFrontFace)); |
| break; |
| } |
| case GLenum::GL_GENERATE_MIPMAP_HINT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mMiscellaneous.mGenerateMipmapHint)); |
| break; |
| } |
| case GLenum::GL_GREEN_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_NAME: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_43_index).mName)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_LEVEL: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_43_index).mLevel)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_LAYERED: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_43_index).mLayered); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_LAYER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_43_index).mLayer)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_ACCESS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_43_index).mAccess)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_FORMAT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_43_index).mFormat)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_LAYER_PROVOKING_VERTEX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mLayerProvokingVertex)); |
| break; |
| } |
| case GLenum::GL_LINE_WIDTH: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mLineWidth)); |
| break; |
| } |
| case GLenum::GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mConstants.mPrimitiveRestartForPatchesSupported); |
| break; |
| } |
| case GLenum::GL_MAJOR_VERSION: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMajorVersion)); |
| break; |
| } |
| case GLenum::GL_MAX_3D_TEXTURE_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMax3dTextureSize)); |
| break; |
| } |
| case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxArrayTextureLayers)); |
| break; |
| } |
| case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxAtomicCounterBufferBindings)); |
| break; |
| } |
| case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxAtomicCounterBufferSize)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_COLOR_ATTACHMENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxColorAttachments)); |
| break; |
| } |
| case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxColorTextureSamples)); |
| break; |
| } |
| case GLenum::GL_MAX_DEPTH_TEXTURE_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxDepthTextureSamples)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedComputeUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedFragmentUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedGeometryUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedTessControlUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedTessEvaluationUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedShaderOutputResources)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedVertexUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCombinedImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_SHARED_MEMORY_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeSharedMemorySize)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mMaxComputeWorkGroupCount, (uint64_t)(l_GetStateVariable_43_index)))); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxComputeWorkGroupInvocations)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mMaxComputeWorkGroupSize, (uint64_t)(l_GetStateVariable_43_index)))); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxCubeMapTextureSize)); |
| break; |
| } |
| case GLenum::GL_MAX_DEBUG_GROUP_STACK_DEPTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxDebugGroupStackDepth)); |
| break; |
| } |
| case GLenum::GL_MAX_DEBUG_LOGGED_MESSAGES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxDebugLoggedMessages)); |
| break; |
| } |
| case GLenum::GL_MAX_DEBUG_MESSAGE_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxDebugMessageLength)); |
| break; |
| } |
| case GLenum::GL_MAX_DRAW_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxDrawBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_ELEMENT_INDEX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxElementIndex)); |
| break; |
| } |
| case GLenum::GL_MAX_ELEMENTS_INDICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxElementsIndices)); |
| break; |
| } |
| case GLenum::GL_MAX_ELEMENTS_VERTICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxElementsVertices)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentInputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentInterpolationOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMinProgramTextureGatherOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxProgramTextureGatherOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFragmentUniformVectors)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFramebufferHeight)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAMEBUFFER_LAYERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFramebufferLayers)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFramebufferSamples)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxFramebufferWidth)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_INPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryInputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_OUTPUT_VERTICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryOutputVertices)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_SHADER_INVOCATIONS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryShaderInvocations)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryTotalOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxGeometryUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_INTEGER_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxIntegerSamples)); |
| break; |
| } |
| case GLenum::GL_MAX_LABEL_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxLabelLength)); |
| break; |
| } |
| case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxProgramTexelOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_RENDERBUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxRenderbufferSize)); |
| break; |
| } |
| case GLenum::GL_MAX_SAMPLE_MASK_WORDS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxSampleMaskWords)); |
| break; |
| } |
| case GLenum::GL_MAX_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxServerWaitTimeout)); |
| break; |
| } |
| case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxShaderStorageBlockSize)); |
| break; |
| } |
| case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxShaderStorageBufferBindings)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlInputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlTotalOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessControlUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationInputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_GEN_LEVEL: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessGenLevel)); |
| break; |
| } |
| case GLenum::GL_MAX_PATCH_VERTICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxPatchVertices)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_PATCH_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTessPatchComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTextureBufferSize)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_LOD_BIAS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTextureLodBias)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_SIZE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTextureSize)); |
| break; |
| } |
| case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTransformFeedbackInterleavedComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTransformFeedbackSeparateAttribs)); |
| break; |
| } |
| case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTransformFeedbackSeparateComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxUniformBlockSize)); |
| break; |
| } |
| case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxUniformBufferBindings)); |
| break; |
| } |
| case GLenum::GL_MAX_UNIFORM_LOCATIONS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxUniformLocations)); |
| break; |
| } |
| case GLenum::GL_MAX_VARYING_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVaryingComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_VARYING_VECTORS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVaryingVectors)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexAttribBindings)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATTRIB_STRIDE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexAttribStride)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexAttribRelativeOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATTRIBS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexAttribs)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxVertexUniformVectors)); |
| break; |
| } |
| case GLenum::GL_MAX_VIEWPORT_DIMS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mMaxViewportDims, 0ULL))); |
| write(l_s, 1ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mMaxViewportDims, 1ULL))); |
| break; |
| } |
| case GLenum::GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMinFragmentInterpolationOffset)); |
| break; |
| } |
| case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMinProgramTexelOffset)); |
| break; |
| } |
| case GLenum::GL_MIN_SAMPLE_SHADING_VALUE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mMinSampleShadingValue)); |
| break; |
| } |
| case GLenum::GL_MINOR_VERSION: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMinorVersion)); |
| break; |
| } |
| case GLenum::GL_MULTISAMPLE_LINE_WIDTH_RANGE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mMultisampleLineWidthRange, 0ULL))); |
| write(l_s, 1ULL, (GLboolean)(read(checkNotNull(l_ctx).mConstants.mMultisampleLineWidthRange, 1ULL))); |
| break; |
| } |
| case GLenum::GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMultisampleLineWidthGranularity)); |
| break; |
| } |
| case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mNumCompressedTextureFormats)); |
| break; |
| } |
| case GLenum::GL_NUM_EXTENSIONS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mNumExtensions)); |
| break; |
| } |
| case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mNumProgramBinaryFormats)); |
| break; |
| } |
| case GLenum::GL_NUM_SHADER_BINARY_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mNumShaderBinaryFormats)); |
| break; |
| } |
| case GLenum::GL_PACK_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mPackAlignment)); |
| break; |
| } |
| case GLenum::GL_PACK_IMAGE_HEIGHT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mPackImageHeight)); |
| break; |
| } |
| case GLenum::GL_PACK_ROW_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mPackRowLength)); |
| break; |
| } |
| case GLenum::GL_PACK_SKIP_IMAGES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mPackSkipImages)); |
| break; |
| } |
| case GLenum::GL_PACK_SKIP_PIXELS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mPackSkipPixels)); |
| break; |
| } |
| case GLenum::GL_PACK_SKIP_ROWS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mPackSkipRows)); |
| break; |
| } |
| case GLenum::GL_PATCH_VERTICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_PIXEL_PACK_BUFFER))); |
| break; |
| } |
| case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_PIXEL_UNPACK_BUFFER))); |
| break; |
| } |
| case GLenum::GL_POLYGON_OFFSET_FACTOR: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mPolygonOffsetFactor)); |
| break; |
| } |
| case GLenum::GL_POLYGON_OFFSET_FILL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mPolygonOffsetFill); |
| break; |
| } |
| case GLenum::GL_POLYGON_OFFSET_UNITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mPolygonOffsetUnits)); |
| break; |
| } |
| case GLenum::GL_PRIMITIVE_BOUNDING_BOX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 8ULL)); |
| break; |
| } |
| case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mMiscellaneous.mPrimitiveRestartFixedIndex); |
| break; |
| } |
| case GLenum::GL_PROGRAM_BINARY_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, (uint64_t)((GLint)(0L)), (uint64_t)(checkNotNull(l_ctx).mConstants.mNumProgramBinaryFormats)); |
| for (GLint l_i = (GLint)(0L); l_i < checkNotNull(l_ctx).mConstants.mNumProgramBinaryFormats; ++l_i) { |
| write(l_s, (uint64_t)(l_i), (GLboolean)(read(checkNotNull(l_ctx).mConstants.mProgramBinaryFormats, (uint64_t)(l_i)))); |
| } |
| break; |
| } |
| case GLenum::GL_PROGRAM_PIPELINE_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_RASTERIZER_DISCARD: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mRasterizerDiscard); |
| break; |
| } |
| case GLenum::GL_READ_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_READ_FRAMEBUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundFramebuffers, GLenum::GL_READ_FRAMEBUFFER))); |
| break; |
| } |
| case GLenum::GL_RED_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_RENDERBUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundRenderbuffers, GLenum::GL_RENDERBUFFER))); |
| break; |
| } |
| case GLenum::GL_RESET_NOTIFICATION_STRATEGY: { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mSampleAlphaToCoverage); |
| break; |
| } |
| case GLenum::GL_SAMPLE_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SAMPLE_COVERAGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mSampleCoverage); |
| break; |
| } |
| case GLenum::GL_SAMPLE_COVERAGE_INVERT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mSampleCoverageInvert); |
| break; |
| } |
| case GLenum::GL_SAMPLE_COVERAGE_VALUE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mSampleCoverageValue)); |
| break; |
| } |
| case GLenum::GL_SAMPLE_SHADING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SAMPLER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SCISSOR_BOX: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 4ULL); |
| write(l_s, 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mBox.mX)); |
| write(l_s, 1ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mBox.mY)); |
| write(l_s, 2ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mBox.mWidth)); |
| write(l_s, 3ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mBox.mHeight)); |
| break; |
| } |
| case GLenum::GL_SCISSOR_TEST: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mFragmentOperations.mScissor.mTest); |
| break; |
| } |
| case GLenum::GL_SHADER_BINARY_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, (uint64_t)((GLint)(0L)), (uint64_t)(checkNotNull(l_ctx).mConstants.mNumShaderBinaryFormats)); |
| for (GLint l_i = (GLint)(0L); l_i < checkNotNull(l_ctx).mConstants.mNumShaderBinaryFormats; ++l_i) { |
| write(l_s, (uint64_t)(l_i), (GLboolean)(read(checkNotNull(l_ctx).mConstants.mShaderBinaryFormats, (uint64_t)(l_i)))); |
| } |
| break; |
| } |
| case GLenum::GL_SHADER_COMPILER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mConstants.mShaderCompiler); |
| break; |
| } |
| case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mShaderStorageBuffer, l_GetStateVariable_43_index).mBinding)); |
| } else { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_SHADER_STORAGE_BUFFER))); |
| } |
| break; |
| } |
| case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mShaderStorageBufferOffsetAlignment)); |
| break; |
| } |
| case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mShaderStorageBuffer, l_GetStateVariable_43_index).mSize)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_SHADER_STORAGE_BUFFER_START: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mShaderStorageBuffer, l_GetStateVariable_43_index).mStart)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_FAIL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackFail)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_FUNC: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackFunc)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackPassDepthFail)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackPassDepthPass)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_REF: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackRef)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_VALUE_MASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackValueMask)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_WRITEMASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFramebuffer.mStencilBackWritemask)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_STENCIL_CLEAR_VALUE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFramebuffer.mStencilClearValue)); |
| break; |
| } |
| case GLenum::GL_STENCIL_FAIL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mFail)); |
| break; |
| } |
| case GLenum::GL_STENCIL_FUNC: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mFunc)); |
| break; |
| } |
| case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mPassDepthFail)); |
| break; |
| } |
| case GLenum::GL_STENCIL_PASS_DEPTH_PASS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mPassDepthPass)); |
| break; |
| } |
| case GLenum::GL_STENCIL_REF: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mRef)); |
| break; |
| } |
| case GLenum::GL_STENCIL_TEST: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mFragmentOperations.mStencil.mTest); |
| break; |
| } |
| case GLenum::GL_STENCIL_VALUE_MASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mValueMask)); |
| break; |
| } |
| case GLenum::GL_STENCIL_WRITEMASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mFramebuffer.mStencilWritemask)); |
| break; |
| } |
| case GLenum::GL_SUBPIXEL_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mSubpixelBits)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_2D: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding2d)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_EXTERNAL_OES: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBindingExternalOes)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding2dArray)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding2dMultisample)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding2dMultisampleArray)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_3D: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding3d)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBindingBuffer)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBindingCubeMap)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBindingCubeMapArray)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mTextureBufferOffsetAlignment)); |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l__res_0).mActive); |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mBoundTransformFeedback)); |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l__res_0).mBuffers, l_GetStateVariable_43_index).mBinding)); |
| } else { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_TRANSFORM_FEEDBACK_BUFFER))); |
| } |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l__res_0).mBuffers, l_GetStateVariable_43_index).mSize)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l__res_0).mBuffers, l_GetStateVariable_43_index).mStart)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, checkNotNull(l__res_0).mPaused); |
| break; |
| } |
| case GLenum::GL_UNIFORM_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mUniformBuffer, l_GetStateVariable_43_index).mBinding)); |
| } else { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_UNIFORM_BUFFER))); |
| } |
| break; |
| } |
| case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mUniformBufferOffsetAlignment)); |
| break; |
| } |
| case GLenum::GL_UNIFORM_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mUniformBuffer, l_GetStateVariable_43_index).mSize)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_UNIFORM_BUFFER_START: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(findOrZero(checkNotNull(l_ctx).mPrograms.mUniformBuffer, l_GetStateVariable_43_index).mStart)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_UNPACK_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mUnpackAlignment)); |
| break; |
| } |
| case GLenum::GL_UNPACK_IMAGE_HEIGHT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mUnpackImageHeight)); |
| break; |
| } |
| case GLenum::GL_UNPACK_ROW_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mUnpackRowLength)); |
| break; |
| } |
| case GLenum::GL_UNPACK_SKIP_IMAGES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mUnpackSkipImages)); |
| break; |
| } |
| case GLenum::GL_UNPACK_SKIP_PIXELS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mUnpackSkipPixels)); |
| break; |
| } |
| case GLenum::GL_UNPACK_SKIP_ROWS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mPixelStorage.mUnpackSkipRows)); |
| break; |
| } |
| case GLenum::GL_VERTEX_ARRAY_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mBoundVertexArray)); |
| break; |
| } |
| case GLenum::GL_VERTEX_BINDING_DIVISOR: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| VertexBufferBindingIndex l_i = (VertexBufferBindingIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(findOrZero(checkNotNull(l_ctx).mInstances.mVertexArrays, checkNotNull(l_ctx).mBoundVertexArray)).mVertexBufferBindings, l_i)).mDivisor)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_VERTEX_BINDING_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| VertexBufferBindingIndex l_i = (VertexBufferBindingIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(findOrZero(checkNotNull(l_ctx).mInstances.mVertexArrays, checkNotNull(l_ctx).mBoundVertexArray)).mVertexBufferBindings, l_i)).mOffset)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_VERTEX_BINDING_STRIDE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_43_isIndexed) { |
| VertexBufferBindingIndex l_i = (VertexBufferBindingIndex)(l_GetStateVariable_43_index); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(findOrZero(checkNotNull(findOrZero(checkNotNull(l_ctx).mInstances.mVertexArrays, checkNotNull(l_ctx).mBoundVertexArray)).mVertexBufferBindings, l_i)).mStride)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| break; |
| } |
| case GLenum::GL_VIEWPORT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLboolean> l_s = slice(l_GetStateVariable_43_v, 0ULL, 4ULL); |
| write(l_s, 0ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mViewport.mX)); |
| write(l_s, 1ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mViewport.mY)); |
| write(l_s, 2ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mViewport.mWidth)); |
| write(l_s, 3ULL, (GLboolean)(checkNotNull(l_ctx).mRasterization.mViewport.mHeight)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: { |
| subRequiresExtension(call, ExtensionId::GL_EXT_texture_filter_anisotropic); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL), 0ULL, (GLboolean)(checkNotNull(l_ctx).mConstants.mMaxTextureMaxAnisotropyExt)); |
| break; |
| } |
| case GLenum::GL_GPU_DISJOINT_EXT: { |
| subRequiresExtension(call, ExtensionId::GL_EXT_disjoint_timer_query); |
| write(slice(l_GetStateVariable_43_v, 0ULL, 1ULL)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_43_name); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subGetStateVariable_GLfloat(const std::function<void()>& call, uint32_t name, bool isIndexed, GLuint index, GLfloat* v) { |
| uint32_t l_GetStateVariable_44_name = name; |
| bool l_GetStateVariable_44_isIndexed = isIndexed; |
| GLuint l_GetStateVariable_44_index = index; |
| GLfloat* l_GetStateVariable_44_v = v; |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| call(); |
| switch (l_GetStateVariable_44_name) { |
| case GLenum::GL_ACTIVE_TEXTURE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mActiveTextureUnit)); |
| break; |
| } |
| case GLenum::GL_ALIASED_LINE_WIDTH_RANGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, read(checkNotNull(l_ctx).mConstants.mAliasedLineWidthRange, 0ULL)); |
| write(l_s, 1ULL, read(checkNotNull(l_ctx).mConstants.mAliasedLineWidthRange, 1ULL)); |
| break; |
| } |
| case GLenum::GL_ALIASED_POINT_SIZE_RANGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, read(checkNotNull(l_ctx).mConstants.mAliasedPointSizeRange, 0ULL)); |
| write(l_s, 1ULL, read(checkNotNull(l_ctx).mConstants.mAliasedPointSizeRange, 1ULL)); |
| break; |
| } |
| case GLenum::GL_ALPHA_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_ARRAY_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_ARRAY_BUFFER))); |
| break; |
| } |
| case GLenum::GL_ATOMIC_COUNTER_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mAtomicCounterBuffer, l_GetStateVariable_44_index).mBinding)); |
| } else { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_ATOMIC_COUNTER_BUFFER))); |
| } |
| break; |
| } |
| case GLenum::GL_ATOMIC_COUNTER_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mAtomicCounterBuffer, l_GetStateVariable_44_index).mSize)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_ATOMIC_COUNTER_BUFFER_START: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mAtomicCounterBuffer, l_GetStateVariable_44_index).mStart)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_BLEND: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mEnabled)); |
| break; |
| } |
| case GLenum::GL_BLEND_COLOR: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 4ULL); |
| write(l_s, 0ULL, checkNotNull(l_ctx).mFragmentOperations.mBlendColor.mRed); |
| write(l_s, 1ULL, checkNotNull(l_ctx).mFragmentOperations.mBlendColor.mGreen); |
| write(l_s, 2ULL, checkNotNull(l_ctx).mFragmentOperations.mBlendColor.mBlue); |
| write(l_s, 3ULL, checkNotNull(l_ctx).mFragmentOperations.mBlendColor.mAlpha); |
| break; |
| } |
| case GLenum::GL_BLEND_DST_ALPHA: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mDstAlpha)); |
| break; |
| } |
| case GLenum::GL_BLEND_DST_RGB: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mDstRgb)); |
| break; |
| } |
| case GLenum::GL_BLEND_EQUATION_ALPHA: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mEquationAlpha)); |
| break; |
| } |
| case GLenum::GL_BLEND_EQUATION_RGB: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mEquationRgb)); |
| break; |
| } |
| case GLenum::GL_BLEND_SRC_ALPHA: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mSrcAlpha)); |
| break; |
| } |
| case GLenum::GL_BLEND_SRC_RGB: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFragmentOperations.mBlend, l_i).mSrcRgb)); |
| break; |
| } |
| case GLenum::GL_BLUE_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_COLOR_CLEAR_VALUE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 4ULL); |
| write(l_s, 0ULL, checkNotNull(l_ctx).mFramebuffer.mColorClearValue[0ULL]); |
| write(l_s, 1ULL, checkNotNull(l_ctx).mFramebuffer.mColorClearValue[1ULL]); |
| write(l_s, 2ULL, checkNotNull(l_ctx).mFramebuffer.mColorClearValue[2ULL]); |
| write(l_s, 3ULL, checkNotNull(l_ctx).mFramebuffer.mColorClearValue[3ULL]); |
| break; |
| } |
| case GLenum::GL_COLOR_WRITEMASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 4ULL); |
| DrawBufferIndex l_i = (DrawBufferIndex)(l_GetStateVariable_44_index); |
| write(l_s, 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFramebuffer.mColorWritemask, l_i)[0ULL])); |
| write(l_s, 1ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFramebuffer.mColorWritemask, l_i)[1ULL])); |
| write(l_s, 2ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFramebuffer.mColorWritemask, l_i)[2ULL])); |
| write(l_s, 3ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mFramebuffer.mColorWritemask, l_i)[3ULL])); |
| break; |
| } |
| case GLenum::GL_COMPRESSED_TEXTURE_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, (uint64_t)((GLint)(0L)), (uint64_t)(checkNotNull(l_ctx).mConstants.mNumCompressedTextureFormats)); |
| for (GLint l_i = (GLint)(0L); l_i < checkNotNull(l_ctx).mConstants.mNumCompressedTextureFormats; ++l_i) { |
| write(l_s, (uint64_t)(l_i), (GLfloat)(read(checkNotNull(l_ctx).mConstants.mCompressedTextureFormats, (uint64_t)(l_i)))); |
| } |
| break; |
| } |
| case GLenum::GL_CONTEXT_FLAGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mContextFlags)); |
| break; |
| } |
| case GLenum::GL_CONTEXT_ROBUST_ACCESS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_COPY_READ_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_COPY_READ_BUFFER))); |
| break; |
| } |
| case GLenum::GL_COPY_WRITE_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_COPY_WRITE_BUFFER))); |
| break; |
| } |
| case GLenum::GL_CULL_FACE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mCullFace)); |
| break; |
| } |
| case GLenum::GL_CULL_FACE_MODE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mCullFaceMode)); |
| break; |
| } |
| case GLenum::GL_CURRENT_PROGRAM: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mBoundProgram)); |
| break; |
| } |
| case GLenum::GL_DEBUG_GROUP_STACK_DEPTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DEBUG_LOGGED_MESSAGES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DEPTH_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DEPTH_CLEAR_VALUE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mFramebuffer.mDepthClearValue); |
| break; |
| } |
| case GLenum::GL_DEPTH_FUNC: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mDepth.mFunc)); |
| break; |
| } |
| case GLenum::GL_DEPTH_RANGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, checkNotNull(l_ctx).mRasterization.mDepthRange[0ULL]); |
| write(l_s, 1ULL, checkNotNull(l_ctx).mRasterization.mDepthRange[1ULL]); |
| break; |
| } |
| case GLenum::GL_DEPTH_TEST: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mDepth.mTest)); |
| break; |
| } |
| case GLenum::GL_DEPTH_WRITEMASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFramebuffer.mDepthWritemask)); |
| break; |
| } |
| case GLenum::GL_DISPATCH_INDIRECT_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_DISPATCH_INDIRECT_BUFFER))); |
| break; |
| } |
| case GLenum::GL_DITHER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mDither)); |
| break; |
| } |
| case GLenum::GL_DRAW_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_DRAW_BUFFER0: // fall-through... |
| case GLenum::GL_DRAW_BUFFER1: // fall-through... |
| case GLenum::GL_DRAW_BUFFER2: // fall-through... |
| case GLenum::GL_DRAW_BUFFER3: // fall-through... |
| case GLenum::GL_DRAW_BUFFER4: // fall-through... |
| case GLenum::GL_DRAW_BUFFER5: // fall-through... |
| case GLenum::GL_DRAW_BUFFER6: // fall-through... |
| case GLenum::GL_DRAW_BUFFER7: // fall-through... |
| case GLenum::GL_DRAW_BUFFER8: // fall-through... |
| case GLenum::GL_DRAW_BUFFER9: // fall-through... |
| case GLenum::GL_DRAW_BUFFER10: // fall-through... |
| case GLenum::GL_DRAW_BUFFER11: // fall-through... |
| case GLenum::GL_DRAW_BUFFER12: // fall-through... |
| case GLenum::GL_DRAW_BUFFER13: // fall-through... |
| case GLenum::GL_DRAW_BUFFER14: // fall-through... |
| case GLenum::GL_DRAW_BUFFER15: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| std::shared_ptr<Framebuffer> l_framebuffer = subGetBoundFramebufferOrErrorInvalidEnum(call, GLenum::GL_DRAW_FRAMEBUFFER); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_framebuffer).mDrawBuffer, (GLint)((l_GetStateVariable_44_name) - (GLenum::GL_DRAW_BUFFER0))))); |
| break; |
| } |
| case GLenum::GL_DRAW_FRAMEBUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundFramebuffers, GLenum::GL_FRAMEBUFFER))); |
| break; |
| } |
| case GLenum::GL_ELEMENT_ARRAY_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_ELEMENT_ARRAY_BUFFER))); |
| break; |
| } |
| case GLenum::GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mFragmentInterpolationOffsetBits)); |
| break; |
| } |
| case GLenum::GL_FRAGMENT_SHADER_DERIVATIVE_HINT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_FRONT_FACE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mFrontFace)); |
| break; |
| } |
| case GLenum::GL_GENERATE_MIPMAP_HINT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mMiscellaneous.mGenerateMipmapHint)); |
| break; |
| } |
| case GLenum::GL_GREEN_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_NAME: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_44_index).mName)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_LEVEL: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_44_index).mLevel)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_LAYERED: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_44_index).mLayered)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_LAYER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_44_index).mLayer)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_ACCESS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_44_index).mAccess)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMAGE_BINDING_FORMAT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mImageUnits, l_GetStateVariable_44_index).mFormat)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_IMPLEMENTATION_COLOR_READ_FORMAT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_IMPLEMENTATION_COLOR_READ_TYPE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_LAYER_PROVOKING_VERTEX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mLayerProvokingVertex)); |
| break; |
| } |
| case GLenum::GL_LINE_WIDTH: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mLineWidth); |
| break; |
| } |
| case GLenum::GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mPrimitiveRestartForPatchesSupported)); |
| break; |
| } |
| case GLenum::GL_MAJOR_VERSION: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMajorVersion)); |
| break; |
| } |
| case GLenum::GL_MAX_3D_TEXTURE_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMax3dTextureSize)); |
| break; |
| } |
| case GLenum::GL_MAX_ARRAY_TEXTURE_LAYERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxArrayTextureLayers)); |
| break; |
| } |
| case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxAtomicCounterBufferBindings)); |
| break; |
| } |
| case GLenum::GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxAtomicCounterBufferSize)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_COLOR_ATTACHMENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxColorAttachments)); |
| break; |
| } |
| case GLenum::GL_MAX_COLOR_TEXTURE_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxColorTextureSamples)); |
| break; |
| } |
| case GLenum::GL_MAX_DEPTH_TEXTURE_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxDepthTextureSamples)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedComputeUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedFragmentUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedGeometryUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedTessControlUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedTessEvaluationUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedShaderOutputResources)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedVertexUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_COMBINED_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCombinedImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_SHARED_MEMORY_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeSharedMemorySize)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_WORK_GROUP_COUNT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(read(checkNotNull(l_ctx).mConstants.mMaxComputeWorkGroupCount, (uint64_t)(l_GetStateVariable_44_index)))); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxComputeWorkGroupInvocations)); |
| break; |
| } |
| case GLenum::GL_MAX_COMPUTE_WORK_GROUP_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(read(checkNotNull(l_ctx).mConstants.mMaxComputeWorkGroupSize, (uint64_t)(l_GetStateVariable_44_index)))); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_MAX_CUBE_MAP_TEXTURE_SIZE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxCubeMapTextureSize)); |
| break; |
| } |
| case GLenum::GL_MAX_DEBUG_GROUP_STACK_DEPTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxDebugGroupStackDepth)); |
| break; |
| } |
| case GLenum::GL_MAX_DEBUG_LOGGED_MESSAGES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxDebugLoggedMessages)); |
| break; |
| } |
| case GLenum::GL_MAX_DEBUG_MESSAGE_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxDebugMessageLength)); |
| break; |
| } |
| case GLenum::GL_MAX_DRAW_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxDrawBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_ELEMENT_INDEX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxElementIndex)); |
| break; |
| } |
| case GLenum::GL_MAX_ELEMENTS_INDICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxElementsIndices)); |
| break; |
| } |
| case GLenum::GL_MAX_ELEMENTS_VERTICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxElementsVertices)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFragmentAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFragmentAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFragmentImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_INPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFragmentInputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mConstants.mMaxFragmentInterpolationOffset); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFragmentShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMinProgramTextureGatherOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxProgramTextureGatherOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFragmentUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFragmentUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAGMENT_UNIFORM_VECTORS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFragmentUniformVectors)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAMEBUFFER_HEIGHT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFramebufferHeight)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAMEBUFFER_LAYERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFramebufferLayers)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAMEBUFFER_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFramebufferSamples)); |
| break; |
| } |
| case GLenum::GL_MAX_FRAMEBUFFER_WIDTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxFramebufferWidth)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_INPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryInputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_OUTPUT_VERTICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryOutputVertices)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_SHADER_INVOCATIONS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryShaderInvocations)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryTotalOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxGeometryUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_INTEGER_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxIntegerSamples)); |
| break; |
| } |
| case GLenum::GL_MAX_LABEL_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxLabelLength)); |
| break; |
| } |
| case GLenum::GL_MAX_PROGRAM_TEXEL_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxProgramTexelOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_RENDERBUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxRenderbufferSize)); |
| break; |
| } |
| case GLenum::GL_MAX_SAMPLE_MASK_WORDS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxSampleMaskWords)); |
| break; |
| } |
| case GLenum::GL_MAX_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_MAX_SERVER_WAIT_TIMEOUT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxServerWaitTimeout)); |
| break; |
| } |
| case GLenum::GL_MAX_SHADER_STORAGE_BLOCK_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxShaderStorageBlockSize)); |
| break; |
| } |
| case GLenum::GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxShaderStorageBufferBindings)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlInputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlTotalOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessControlUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationInputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessEvaluationUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_GEN_LEVEL: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessGenLevel)); |
| break; |
| } |
| case GLenum::GL_MAX_PATCH_VERTICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxPatchVertices)); |
| break; |
| } |
| case GLenum::GL_MAX_TESS_PATCH_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTessPatchComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTextureBufferSize)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_LOD_BIAS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mConstants.mMaxTextureLodBias); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_SIZE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTextureSize)); |
| break; |
| } |
| case GLenum::GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTransformFeedbackInterleavedComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTransformFeedbackSeparateAttribs)); |
| break; |
| } |
| case GLenum::GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxTransformFeedbackSeparateComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_UNIFORM_BLOCK_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxUniformBlockSize)); |
| break; |
| } |
| case GLenum::GL_MAX_UNIFORM_BUFFER_BINDINGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxUniformBufferBindings)); |
| break; |
| } |
| case GLenum::GL_MAX_UNIFORM_LOCATIONS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxUniformLocations)); |
| break; |
| } |
| case GLenum::GL_MAX_VARYING_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVaryingComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_VARYING_VECTORS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVaryingVectors)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexAtomicCounters)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexAtomicCounterBuffers)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATTRIB_BINDINGS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexAttribBindings)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATTRIB_STRIDE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexAttribStride)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexAttribRelativeOffset)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_ATTRIBS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexAttribs)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_IMAGE_UNIFORMS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexImageUniforms)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_OUTPUT_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexOutputComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexShaderStorageBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexTextureImageUnits)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_UNIFORM_BLOCKS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexUniformBlocks)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_UNIFORM_COMPONENTS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexUniformComponents)); |
| break; |
| } |
| case GLenum::GL_MAX_VERTEX_UNIFORM_VECTORS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMaxVertexUniformVectors)); |
| break; |
| } |
| case GLenum::GL_MAX_VIEWPORT_DIMS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, (GLfloat)(read(checkNotNull(l_ctx).mConstants.mMaxViewportDims, 0ULL))); |
| write(l_s, 1ULL, (GLfloat)(read(checkNotNull(l_ctx).mConstants.mMaxViewportDims, 1ULL))); |
| break; |
| } |
| case GLenum::GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mConstants.mMinFragmentInterpolationOffset); |
| break; |
| } |
| case GLenum::GL_MIN_PROGRAM_TEXEL_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMinProgramTexelOffset)); |
| break; |
| } |
| case GLenum::GL_MIN_SAMPLE_SHADING_VALUE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mMinSampleShadingValue); |
| break; |
| } |
| case GLenum::GL_MINOR_VERSION: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mMinorVersion)); |
| break; |
| } |
| case GLenum::GL_MULTISAMPLE_LINE_WIDTH_RANGE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 2ULL); |
| write(l_s, 0ULL, read(checkNotNull(l_ctx).mConstants.mMultisampleLineWidthRange, 0ULL)); |
| write(l_s, 1ULL, read(checkNotNull(l_ctx).mConstants.mMultisampleLineWidthRange, 1ULL)); |
| break; |
| } |
| case GLenum::GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mConstants.mMultisampleLineWidthGranularity); |
| break; |
| } |
| case GLenum::GL_NUM_COMPRESSED_TEXTURE_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mNumCompressedTextureFormats)); |
| break; |
| } |
| case GLenum::GL_NUM_EXTENSIONS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mNumExtensions)); |
| break; |
| } |
| case GLenum::GL_NUM_PROGRAM_BINARY_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mNumProgramBinaryFormats)); |
| break; |
| } |
| case GLenum::GL_NUM_SHADER_BINARY_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mNumShaderBinaryFormats)); |
| break; |
| } |
| case GLenum::GL_PACK_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mPackAlignment)); |
| break; |
| } |
| case GLenum::GL_PACK_IMAGE_HEIGHT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mPackImageHeight)); |
| break; |
| } |
| case GLenum::GL_PACK_ROW_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mPackRowLength)); |
| break; |
| } |
| case GLenum::GL_PACK_SKIP_IMAGES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mPackSkipImages)); |
| break; |
| } |
| case GLenum::GL_PACK_SKIP_PIXELS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mPackSkipPixels)); |
| break; |
| } |
| case GLenum::GL_PACK_SKIP_ROWS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mPackSkipRows)); |
| break; |
| } |
| case GLenum::GL_PATCH_VERTICES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_PIXEL_PACK_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_PIXEL_PACK_BUFFER))); |
| break; |
| } |
| case GLenum::GL_PIXEL_UNPACK_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_PIXEL_UNPACK_BUFFER))); |
| break; |
| } |
| case GLenum::GL_POLYGON_OFFSET_FACTOR: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mPolygonOffsetFactor); |
| break; |
| } |
| case GLenum::GL_POLYGON_OFFSET_FILL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mPolygonOffsetFill)); |
| break; |
| } |
| case GLenum::GL_POLYGON_OFFSET_UNITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mPolygonOffsetUnits); |
| break; |
| } |
| case GLenum::GL_PRIMITIVE_BOUNDING_BOX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 8ULL)); |
| break; |
| } |
| case GLenum::GL_PRIMITIVE_RESTART_FIXED_INDEX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mMiscellaneous.mPrimitiveRestartFixedIndex)); |
| break; |
| } |
| case GLenum::GL_PROGRAM_BINARY_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, (uint64_t)((GLint)(0L)), (uint64_t)(checkNotNull(l_ctx).mConstants.mNumProgramBinaryFormats)); |
| for (GLint l_i = (GLint)(0L); l_i < checkNotNull(l_ctx).mConstants.mNumProgramBinaryFormats; ++l_i) { |
| write(l_s, (uint64_t)(l_i), (GLfloat)(read(checkNotNull(l_ctx).mConstants.mProgramBinaryFormats, (uint64_t)(l_i)))); |
| } |
| break; |
| } |
| case GLenum::GL_PROGRAM_PIPELINE_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_RASTERIZER_DISCARD: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mRasterizerDiscard)); |
| break; |
| } |
| case GLenum::GL_READ_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_READ_FRAMEBUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundFramebuffers, GLenum::GL_READ_FRAMEBUFFER))); |
| break; |
| } |
| case GLenum::GL_RED_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_RENDERBUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundRenderbuffers, GLenum::GL_RENDERBUFFER))); |
| break; |
| } |
| case GLenum::GL_RESET_NOTIFICATION_STRATEGY: { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SAMPLE_ALPHA_TO_COVERAGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mSampleAlphaToCoverage)); |
| break; |
| } |
| case GLenum::GL_SAMPLE_BUFFERS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SAMPLE_COVERAGE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mSampleCoverage)); |
| break; |
| } |
| case GLenum::GL_SAMPLE_COVERAGE_INVERT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mSampleCoverageInvert)); |
| break; |
| } |
| case GLenum::GL_SAMPLE_COVERAGE_VALUE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mRasterization.mSampleCoverageValue); |
| break; |
| } |
| case GLenum::GL_SAMPLE_SHADING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SAMPLER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SAMPLES: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_SCISSOR_BOX: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 4ULL); |
| write(l_s, 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mBox.mX)); |
| write(l_s, 1ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mBox.mY)); |
| write(l_s, 2ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mBox.mWidth)); |
| write(l_s, 3ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mBox.mHeight)); |
| break; |
| } |
| case GLenum::GL_SCISSOR_TEST: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mScissor.mTest)); |
| break; |
| } |
| case GLenum::GL_SHADER_BINARY_FORMATS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, (uint64_t)((GLint)(0L)), (uint64_t)(checkNotNull(l_ctx).mConstants.mNumShaderBinaryFormats)); |
| for (GLint l_i = (GLint)(0L); l_i < checkNotNull(l_ctx).mConstants.mNumShaderBinaryFormats; ++l_i) { |
| write(l_s, (uint64_t)(l_i), (GLfloat)(read(checkNotNull(l_ctx).mConstants.mShaderBinaryFormats, (uint64_t)(l_i)))); |
| } |
| break; |
| } |
| case GLenum::GL_SHADER_COMPILER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mShaderCompiler)); |
| break; |
| } |
| case GLenum::GL_SHADER_STORAGE_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mShaderStorageBuffer, l_GetStateVariable_44_index).mBinding)); |
| } else { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_SHADER_STORAGE_BUFFER))); |
| } |
| break; |
| } |
| case GLenum::GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mShaderStorageBufferOffsetAlignment)); |
| break; |
| } |
| case GLenum::GL_SHADER_STORAGE_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mShaderStorageBuffer, l_GetStateVariable_44_index).mSize)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_SHADER_STORAGE_BUFFER_START: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mShaderStorageBuffer, l_GetStateVariable_44_index).mStart)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_FAIL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackFail)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_FUNC: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackFunc)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_PASS_DEPTH_FAIL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackPassDepthFail)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_PASS_DEPTH_PASS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackPassDepthPass)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_REF: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackRef)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_VALUE_MASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mBackValueMask)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BACK_WRITEMASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFramebuffer.mStencilBackWritemask)); |
| break; |
| } |
| case GLenum::GL_STENCIL_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_STENCIL_CLEAR_VALUE: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFramebuffer.mStencilClearValue)); |
| break; |
| } |
| case GLenum::GL_STENCIL_FAIL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mFail)); |
| break; |
| } |
| case GLenum::GL_STENCIL_FUNC: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mFunc)); |
| break; |
| } |
| case GLenum::GL_STENCIL_PASS_DEPTH_FAIL: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mPassDepthFail)); |
| break; |
| } |
| case GLenum::GL_STENCIL_PASS_DEPTH_PASS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mPassDepthPass)); |
| break; |
| } |
| case GLenum::GL_STENCIL_REF: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mRef)); |
| break; |
| } |
| case GLenum::GL_STENCIL_TEST: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mTest)); |
| break; |
| } |
| case GLenum::GL_STENCIL_VALUE_MASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFragmentOperations.mStencil.mValueMask)); |
| break; |
| } |
| case GLenum::GL_STENCIL_WRITEMASK: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mFramebuffer.mStencilWritemask)); |
| break; |
| } |
| case GLenum::GL_SUBPIXEL_BITS: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mSubpixelBits)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_2D: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding2d)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_EXTERNAL_OES: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBindingExternalOes)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_2D_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding2dArray)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding2dMultisample)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding2dMultisampleArray)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_3D: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBinding3d)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_BUFFER: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBindingBuffer)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_CUBE_MAP: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBindingCubeMap)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(l_ctx).mTextureUnits, checkNotNull(l_ctx).mActiveTextureUnit)).mBindingCubeMapArray)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mTextureBufferOffsetAlignment)); |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_ACTIVE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l__res_0).mActive)); |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mBoundTransformFeedback)); |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l__res_0).mBuffers, l_GetStateVariable_44_index).mBinding)); |
| } else { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_TRANSFORM_FEEDBACK_BUFFER))); |
| } |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l__res_0).mBuffers, l_GetStateVariable_44_index).mSize)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_BUFFER_START: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l__res_0).mBuffers, l_GetStateVariable_44_index).mStart)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_TRANSFORM_FEEDBACK_PAUSED: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| std::shared_ptr<TransformFeedback> l__res_0 = subGetBoundTransformFeedback(call); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l__res_0).mPaused)); |
| break; |
| } |
| case GLenum::GL_UNIFORM_BUFFER_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mUniformBuffer, l_GetStateVariable_44_index).mBinding)); |
| } else { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_UNIFORM_BUFFER))); |
| } |
| break; |
| } |
| case GLenum::GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mConstants.mUniformBufferOffsetAlignment)); |
| break; |
| } |
| case GLenum::GL_UNIFORM_BUFFER_SIZE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mUniformBuffer, l_GetStateVariable_44_index).mSize)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_UNIFORM_BUFFER_START: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(findOrZero(checkNotNull(l_ctx).mPrograms.mUniformBuffer, l_GetStateVariable_44_index).mStart)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_UNPACK_ALIGNMENT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mUnpackAlignment)); |
| break; |
| } |
| case GLenum::GL_UNPACK_IMAGE_HEIGHT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mUnpackImageHeight)); |
| break; |
| } |
| case GLenum::GL_UNPACK_ROW_LENGTH: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mUnpackRowLength)); |
| break; |
| } |
| case GLenum::GL_UNPACK_SKIP_IMAGES: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mUnpackSkipImages)); |
| break; |
| } |
| case GLenum::GL_UNPACK_SKIP_PIXELS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mUnpackSkipPixels)); |
| break; |
| } |
| case GLenum::GL_UNPACK_SKIP_ROWS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mPixelStorage.mUnpackSkipRows)); |
| break; |
| } |
| case GLenum::GL_VERTEX_ARRAY_BINDING: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(l_ctx).mBoundVertexArray)); |
| break; |
| } |
| case GLenum::GL_VERTEX_BINDING_DIVISOR: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| VertexBufferBindingIndex l_i = (VertexBufferBindingIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(findOrZero(checkNotNull(l_ctx).mInstances.mVertexArrays, checkNotNull(l_ctx).mBoundVertexArray)).mVertexBufferBindings, l_i)).mDivisor)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_VERTEX_BINDING_OFFSET: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| VertexBufferBindingIndex l_i = (VertexBufferBindingIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(findOrZero(checkNotNull(l_ctx).mInstances.mVertexArrays, checkNotNull(l_ctx).mBoundVertexArray)).mVertexBufferBindings, l_i)).mOffset)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_VERTEX_BINDING_STRIDE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| if (l_GetStateVariable_44_isIndexed) { |
| VertexBufferBindingIndex l_i = (VertexBufferBindingIndex)(l_GetStateVariable_44_index); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, (GLfloat)(checkNotNull(findOrZero(checkNotNull(findOrZero(checkNotNull(l_ctx).mInstances.mVertexArrays, checkNotNull(l_ctx).mBoundVertexArray)).mVertexBufferBindings, l_i)).mStride)); |
| } else { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| break; |
| } |
| case GLenum::GL_VIEWPORT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| Slice<GLfloat> l_s = slice(l_GetStateVariable_44_v, 0ULL, 4ULL); |
| write(l_s, 0ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mViewport.mX)); |
| write(l_s, 1ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mViewport.mY)); |
| write(l_s, 2ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mViewport.mWidth)); |
| write(l_s, 3ULL, (GLfloat)(checkNotNull(l_ctx).mRasterization.mViewport.mHeight)); |
| break; |
| } |
| case GLenum::GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: { |
| subRequiresExtension(call, ExtensionId::GL_EXT_texture_filter_anisotropic); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL), 0ULL, checkNotNull(l_ctx).mConstants.mMaxTextureMaxAnisotropyExt); |
| break; |
| } |
| case GLenum::GL_GPU_DISJOINT_EXT: { |
| subRequiresExtension(call, ExtensionId::GL_EXT_disjoint_timer_query); |
| write(slice(l_GetStateVariable_44_v, 0ULL, 1ULL)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_GetStateVariable_44_name); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subGetSamplerParameterIiv(const std::function<void()>& call, SamplerId sampler, uint32_t pname, GLint* params) { |
| SamplerId l_GetSamplerParameterv_47_sampler = sampler; |
| uint32_t l_GetSamplerParameterv_47_pname = pname; |
| GLint* l_GetSamplerParameterv_47_params = params; |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| std::shared_ptr<Sampler> l_s = findOrZero(checkNotNull(l_ctx).mInstances.mSamplers, l_GetSamplerParameterv_47_sampler); |
| switch (l_GetSamplerParameterv_47_pname) { |
| case GLenum::GL_TEXTURE_COMPARE_FUNC: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mCompareFunc)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_COMPARE_MODE: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mCompareMode)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MIN_FILTER: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mMinFilter)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAG_FILTER: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mMagFilter)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MIN_LOD: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mMinLod)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAX_LOD: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mMaxLod)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_R: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mWrapR)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_S: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mWrapS)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_T: { |
| write(slice(l_GetSamplerParameterv_47_params, 0ULL, 1ULL), 0ULL, (GLint)(checkNotNull(l_s).mWrapT)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BORDER_COLOR: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| Slice<GLint> l_p = slice(l_GetSamplerParameterv_47_params, 0ULL, 4ULL); |
| write(l_p, 0ULL, (GLint)(checkNotNull(l_s).mBorderColor[0ULL])); |
| write(l_p, 1ULL, (GLint)(checkNotNull(l_s).mBorderColor[1ULL])); |
| write(l_p, 2ULL, (GLint)(checkNotNull(l_s).mBorderColor[2ULL])); |
| write(l_p, 3ULL, (GLint)(checkNotNull(l_s).mBorderColor[3ULL])); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_GetSamplerParameterv_47_pname); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subGetTexParameterIuiv(const std::function<void()>& call, uint32_t target, uint32_t pname, GLuint* params) { |
| uint32_t l_GetTexParameter_50_target = target; |
| uint32_t l_GetTexParameter_50_parameter = pname; |
| GLuint* l_GetTexParameter_50_params = params; |
| switch (l_GetTexParameter_50_target) { |
| case GLenum::GL_TEXTURE_2D: // fall-through... |
| case GLenum::GL_TEXTURE_CUBE_MAP: { |
| break; |
| } |
| case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through... |
| case GLenum::GL_TEXTURE_3D: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_2D_MULTISAMPLE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_2D_MULTISAMPLE_ARRAY: // fall-through... |
| case GLenum::GL_TEXTURE_CUBE_MAP_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_GetTexParameter_50_target); |
| } |
| } |
| subGlErrorInvalidEnumIf(call, (l_GetTexParameter_50_target) == (GLenum::GL_TEXTURE_BUFFER)); |
| std::shared_ptr<Texture> l_t = subGetBoundTextureOrErrorInvalidEnum(call, l_GetTexParameter_50_target); |
| switch (l_GetTexParameter_50_parameter) { |
| case GLenum::GL_TEXTURE_MAG_FILTER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mMagFilter)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MIN_FILTER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mMinFilter)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_S: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mWrapS)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_T: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mWrapT)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BASE_LEVEL: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mBaseLevel)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_COMPARE_FUNC: { |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mCompareFunc)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_COMPARE_MODE: { |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mCompareMode)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_IMMUTABLE_FORMAT: { |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mImmutableFormat)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAX_LEVEL: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mMaxLevel)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAX_LOD: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mMaxLod)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MIN_LOD: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mMinLod)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_SWIZZLE_A: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mSwizzleA)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_SWIZZLE_B: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mSwizzleB)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_SWIZZLE_G: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mSwizzleG)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_SWIZZLE_R: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mSwizzleR)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_R: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mWrapR)); |
| break; |
| } |
| case GLenum::GL_DEPTH_STENCIL_TEXTURE_MODE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mDepthStencilTextureMode)); |
| break; |
| } |
| case GLenum::GL_IMAGE_FORMAT_COMPATIBILITY_TYPE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, slice(params, 0ULL, 1ULL)[0ULL]); |
| break; |
| } |
| case GLenum::GL_TEXTURE_IMMUTABLE_LEVELS: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, checkNotNull(l_t).mImmutableLevels); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BORDER_COLOR: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| Slice<GLuint> l_p = slice(l_GetTexParameter_50_params, 0ULL, 4ULL); |
| write(l_p, 0ULL, (GLuint)(checkNotNull(l_t).mBorderColor[0ULL])); |
| write(l_p, 1ULL, (GLuint)(checkNotNull(l_t).mBorderColor[1ULL])); |
| write(l_p, 2ULL, (GLuint)(checkNotNull(l_t).mBorderColor[2ULL])); |
| write(l_p, 3ULL, (GLuint)(checkNotNull(l_t).mBorderColor[3ULL])); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAX_ANISOTROPY_EXT: { |
| subRequiresExtension(call, ExtensionId::GL_EXT_texture_filter_anisotropic); |
| write(slice(l_GetTexParameter_50_params, 0ULL, 1ULL), 0ULL, (GLuint)(checkNotNull(l_t).mMaxAnisotropy)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_GetTexParameter_50_parameter); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subSamplerParameterIiv(const std::function<void()>& call, SamplerId sampler, uint32_t pname, GLint* param) { |
| SamplerId l_SamplerParameterv_51_sampler = sampler; |
| uint32_t l_SamplerParameterv_51_pname = pname; |
| GLint* l_SamplerParameterv_51_params = param; |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| std::shared_ptr<Sampler> l_s = findOrZero(checkNotNull(l_ctx).mInstances.mSamplers, l_SamplerParameterv_51_sampler); |
| switch (l_SamplerParameterv_51_pname) { |
| case GLenum::GL_TEXTURE_COMPARE_FUNC: { |
| checkNotNull(l_s).mCompareFunc = (uint32_t)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_COMPARE_MODE: { |
| checkNotNull(l_s).mCompareMode = (uint32_t)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MIN_FILTER: { |
| checkNotNull(l_s).mMinFilter = (uint32_t)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAG_FILTER: { |
| checkNotNull(l_s).mMagFilter = (uint32_t)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MIN_LOD: { |
| checkNotNull(l_s).mMinLod = (GLfloat)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAX_LOD: { |
| checkNotNull(l_s).mMaxLod = (GLfloat)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_R: { |
| checkNotNull(l_s).mWrapR = (uint32_t)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_S: { |
| checkNotNull(l_s).mWrapS = (uint32_t)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_T: { |
| checkNotNull(l_s).mWrapT = (uint32_t)(read(slice(l_SamplerParameterv_51_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BORDER_COLOR: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_SamplerParameterv_51_pname); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subTexBuffer(const std::function<void()>& call, uint32_t target, uint32_t internalformat, BufferId buffer) { |
| switch (target) { |
| case GLenum::GL_TEXTURE_BUFFER: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, target); |
| } |
| } |
| switch (internalformat) { |
| case GLenum::GL_R16: // fall-through... |
| case GLenum::GL_R16F: // fall-through... |
| case GLenum::GL_R16I: // fall-through... |
| case GLenum::GL_R16UI: // fall-through... |
| case GLenum::GL_R32F: // fall-through... |
| case GLenum::GL_R32I: // fall-through... |
| case GLenum::GL_R32UI: // fall-through... |
| case GLenum::GL_R8: // fall-through... |
| case GLenum::GL_R8I: // fall-through... |
| case GLenum::GL_R8UI: // fall-through... |
| case GLenum::GL_RG16: // fall-through... |
| case GLenum::GL_RG16F: // fall-through... |
| case GLenum::GL_RG16I: // fall-through... |
| case GLenum::GL_RG16UI: // fall-through... |
| case GLenum::GL_RG32F: // fall-through... |
| case GLenum::GL_RG32I: // fall-through... |
| case GLenum::GL_RG32UI: // fall-through... |
| case GLenum::GL_RG8: // fall-through... |
| case GLenum::GL_RG8I: // fall-through... |
| case GLenum::GL_RG8UI: // fall-through... |
| case GLenum::GL_RGB32F: // fall-through... |
| case GLenum::GL_RGB32I: // fall-through... |
| case GLenum::GL_RGB32UI: // fall-through... |
| case GLenum::GL_RGBA16: // fall-through... |
| case GLenum::GL_RGBA16F: // fall-through... |
| case GLenum::GL_RGBA16I: // fall-through... |
| case GLenum::GL_RGBA16UI: // fall-through... |
| case GLenum::GL_RGBA32F: // fall-through... |
| case GLenum::GL_RGBA32I: // fall-through... |
| case GLenum::GL_RGBA32UI: // fall-through... |
| case GLenum::GL_RGBA8: // fall-through... |
| case GLenum::GL_RGBA8I: // fall-through... |
| case GLenum::GL_RGBA8UI: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, internalformat); |
| } |
| } |
| (void)buffer; |
| return; |
| } |
| |
| void GlesSpy::subTexImage3D(const std::function<void()>& call, uint32_t target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, uint32_t format, uint32_t type, TexturePointer data) { |
| switch (target) { |
| case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through... |
| case GLenum::GL_TEXTURE_3D: { |
| break; |
| } |
| case GLenum::GL_TEXTURE_CUBE_MAP_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, target); |
| } |
| } |
| subCheckInternalFormat(call, (uint32_t)(internalformat)); |
| switch (format) { |
| case GLenum::GL_ALPHA: // fall-through... |
| case GLenum::GL_DEPTH_COMPONENT: // fall-through... |
| case GLenum::GL_DEPTH_STENCIL: // fall-through... |
| case GLenum::GL_LUMINANCE: // fall-through... |
| case GLenum::GL_LUMINANCE_ALPHA: // fall-through... |
| case GLenum::GL_RED: // fall-through... |
| case GLenum::GL_RED_INTEGER: // fall-through... |
| case GLenum::GL_RG: // fall-through... |
| case GLenum::GL_RGB: // fall-through... |
| case GLenum::GL_RGBA: // fall-through... |
| case GLenum::GL_RGBA_INTEGER: // fall-through... |
| case GLenum::GL_RGB_INTEGER: // fall-through... |
| case GLenum::GL_RG_INTEGER: { |
| break; |
| } |
| case GLenum::GL_STENCIL_INDEX: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, format); |
| } |
| } |
| switch (type) { |
| case GLenum::GL_HALF_FLOAT_OES: { |
| subRequiresExtension(call, ExtensionId::GL_OES_texture_half_float); |
| break; |
| } |
| case GLenum::GL_BYTE: // fall-through... |
| case GLenum::GL_FLOAT: // fall-through... |
| case GLenum::GL_FLOAT_32_UNSIGNED_INT_24_8_REV: // fall-through... |
| case GLenum::GL_HALF_FLOAT: // fall-through... |
| case GLenum::GL_INT: // fall-through... |
| case GLenum::GL_SHORT: // fall-through... |
| case GLenum::GL_UNSIGNED_BYTE: // fall-through... |
| case GLenum::GL_UNSIGNED_INT: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_24_8: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_5_9_9_9_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT_4_4_4_4: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT_5_5_5_1: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT_5_6_5: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, type); |
| } |
| } |
| (void)level; |
| (void)internalformat; |
| (void)border; |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| if (((data) != (nullptr)) && ((findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_PIXEL_UNPACK_BUFFER)) == ((BufferId)(0UL)))) { |
| uint32_t l__res_0 = subImageSize(call, (uint32_t)(width), (uint32_t)(height), format, type); |
| uint32_t l_size = (l__res_0) * ((uint32_t)(depth)); |
| read(slice((uint8_t*)(data), (uint64_t)(0UL), (uint64_t)(l_size))); |
| } |
| return; |
| } |
| |
| uint32_t GlesSpy::subCheckWrapParam(const std::function<void()>& call, uint32_t wrap) { |
| switch (wrap) { |
| case GLenum::GL_CLAMP_TO_EDGE: // fall-through... |
| case GLenum::GL_REPEAT: // fall-through... |
| case GLenum::GL_MIRRORED_REPEAT: // fall-through... |
| case GLenum::GL_CLAMP_TO_BORDER: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, wrap); |
| } |
| } |
| return wrap; |
| } |
| |
| uint32_t GlesSpy::subCheckSwizzleParam(const std::function<void()>& call, uint32_t swizzle) { |
| switch (swizzle) { |
| case GLenum::GL_RED: // fall-through... |
| case GLenum::GL_GREEN: // fall-through... |
| case GLenum::GL_BLUE: // fall-through... |
| case GLenum::GL_ALPHA: // fall-through... |
| case GLenum::GL_ZERO: // fall-through... |
| case GLenum::GL_ONE: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, swizzle); |
| } |
| } |
| return swizzle; |
| } |
| |
| void GlesSpy::subTexParameterIuiv(const std::function<void()>& call, uint32_t target, uint32_t pname, GLuint* params) { |
| uint32_t l_TexParameterv_54_target = target; |
| uint32_t l_TexParameterv_54_pname = pname; |
| GLuint* l_TexParameterv_54_params = params; |
| subGlErrorInvalidEnumIf(call, (l_TexParameterv_54_target) == (GLenum::GL_TEXTURE_BUFFER)); |
| std::shared_ptr<Texture> l_t = subGetBoundTextureOrErrorInvalidEnum(call, l_TexParameterv_54_target); |
| switch (l_TexParameterv_54_pname) { |
| case GLenum::GL_TEXTURE_MAG_FILTER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| uint32_t l_magFilter = (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| switch (l_magFilter) { |
| case GLenum::GL_NEAREST: // fall-through... |
| case GLenum::GL_LINEAR: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_magFilter); |
| } |
| } |
| checkNotNull(l_t).mMagFilter = l_magFilter; |
| break; |
| } |
| case GLenum::GL_TEXTURE_MIN_FILTER: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| uint32_t l_minFilter = (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| switch (l_minFilter) { |
| case GLenum::GL_NEAREST: // fall-through... |
| case GLenum::GL_LINEAR: // fall-through... |
| case GLenum::GL_NEAREST_MIPMAP_NEAREST: // fall-through... |
| case GLenum::GL_LINEAR_MIPMAP_NEAREST: // fall-through... |
| case GLenum::GL_NEAREST_MIPMAP_LINEAR: // fall-through... |
| case GLenum::GL_LINEAR_MIPMAP_LINEAR: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_minFilter); |
| } |
| } |
| checkNotNull(l_t).mMinFilter = l_minFilter; |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_S: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| uint32_t l__res_0 = subCheckWrapParam(call, (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL))); |
| checkNotNull(l_t).mWrapS = l__res_0; |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_T: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| uint32_t l__res_0 = subCheckWrapParam(call, (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL))); |
| checkNotNull(l_t).mWrapT = l__res_0; |
| break; |
| } |
| case GLenum::GL_TEXTURE_BASE_LEVEL: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| GLint l_baseLevel = (GLint)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| subGlErrorInvalidValueIf(call, (l_baseLevel) < ((GLint)(0L))); |
| checkNotNull(l_t).mBaseLevel = l_baseLevel; |
| break; |
| } |
| case GLenum::GL_TEXTURE_COMPARE_FUNC: { |
| checkNotNull(l_t).mCompareFunc = (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_COMPARE_MODE: { |
| checkNotNull(l_t).mCompareMode = (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAX_LEVEL: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| GLint l_maxLevel = (GLint)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| subGlErrorInvalidValueIf(call, (l_maxLevel) < ((GLint)(0L))); |
| checkNotNull(l_t).mMaxLevel = l_maxLevel; |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAX_LOD: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| checkNotNull(l_t).mMaxLod = (GLfloat)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MIN_LOD: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| checkNotNull(l_t).mMinLod = (GLfloat)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_SWIZZLE_A: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| uint32_t l__res_0 = subCheckSwizzleParam(call, (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL))); |
| checkNotNull(l_t).mSwizzleA = l__res_0; |
| break; |
| } |
| case GLenum::GL_TEXTURE_SWIZZLE_B: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| uint32_t l__res_0 = subCheckSwizzleParam(call, (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL))); |
| checkNotNull(l_t).mSwizzleB = l__res_0; |
| break; |
| } |
| case GLenum::GL_TEXTURE_SWIZZLE_G: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| uint32_t l__res_0 = subCheckSwizzleParam(call, (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL))); |
| checkNotNull(l_t).mSwizzleG = l__res_0; |
| break; |
| } |
| case GLenum::GL_TEXTURE_SWIZZLE_R: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| uint32_t l__res_0 = subCheckSwizzleParam(call, (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL))); |
| checkNotNull(l_t).mSwizzleR = l__res_0; |
| break; |
| } |
| case GLenum::GL_TEXTURE_WRAP_R: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| checkNotNull(l_t).mWrapR = (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_DEPTH_STENCIL_TEXTURE_MODE: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(1L)); |
| checkNotNull(l_t).mDepthStencilTextureMode = (uint32_t)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_BORDER_COLOR: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_MAX_ANISOTROPY_EXT: { |
| subRequiresExtension(call, ExtensionId::GL_EXT_texture_filter_anisotropic); |
| checkNotNull(l_t).mMaxAnisotropy = (GLfloat)(read(slice(l_TexParameterv_54_params, 0ULL, 1ULL), 0ULL)); |
| break; |
| } |
| case GLenum::GL_TEXTURE_SRGB_DECODE_EXT: { |
| subRequiresExtension(call, ExtensionId::GL_EXT_texture_sRGB_decode); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, l_TexParameterv_54_pname); |
| } |
| } |
| return; |
| } |
| |
| void GlesSpy::subTexStorage3D(const std::function<void()>& call, uint32_t target, GLsizei levels, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth) { |
| switch (target) { |
| case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through... |
| case GLenum::GL_TEXTURE_3D: { |
| break; |
| } |
| case GLenum::GL_TEXTURE_CUBE_MAP_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, target); |
| } |
| } |
| switch (internalformat) { |
| case GLenum::GL_COMPRESSED_R11_EAC: // fall-through... |
| case GLenum::GL_COMPRESSED_RG11_EAC: // fall-through... |
| case GLenum::GL_COMPRESSED_RGB8_ETC2: // fall-through... |
| case GLenum::GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA8_ETC2_EAC: // fall-through... |
| case GLenum::GL_COMPRESSED_SIGNED_R11_EAC: // fall-through... |
| case GLenum::GL_COMPRESSED_SIGNED_RG11_EAC: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ETC2: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: // fall-through... |
| case GLenum::GL_DEPTH24_STENCIL8: // fall-through... |
| case GLenum::GL_DEPTH32F_STENCIL8: // fall-through... |
| case GLenum::GL_DEPTH_COMPONENT16: // fall-through... |
| case GLenum::GL_DEPTH_COMPONENT24: // fall-through... |
| case GLenum::GL_DEPTH_COMPONENT32F: // fall-through... |
| case GLenum::GL_R11F_G11F_B10F: // fall-through... |
| case GLenum::GL_R16F: // fall-through... |
| case GLenum::GL_R16I: // fall-through... |
| case GLenum::GL_R16UI: // fall-through... |
| case GLenum::GL_R32F: // fall-through... |
| case GLenum::GL_R32I: // fall-through... |
| case GLenum::GL_R32UI: // fall-through... |
| case GLenum::GL_R8: // fall-through... |
| case GLenum::GL_R8I: // fall-through... |
| case GLenum::GL_R8UI: // fall-through... |
| case GLenum::GL_R8_SNORM: // fall-through... |
| case GLenum::GL_RG16F: // fall-through... |
| case GLenum::GL_RG16I: // fall-through... |
| case GLenum::GL_RG16UI: // fall-through... |
| case GLenum::GL_RG32F: // fall-through... |
| case GLenum::GL_RG32I: // fall-through... |
| case GLenum::GL_RG32UI: // fall-through... |
| case GLenum::GL_RG8: // fall-through... |
| case GLenum::GL_RG8I: // fall-through... |
| case GLenum::GL_RG8UI: // fall-through... |
| case GLenum::GL_RG8_SNORM: // fall-through... |
| case GLenum::GL_RGB10_A2: // fall-through... |
| case GLenum::GL_RGB10_A2UI: // fall-through... |
| case GLenum::GL_RGB16F: // fall-through... |
| case GLenum::GL_RGB16I: // fall-through... |
| case GLenum::GL_RGB16UI: // fall-through... |
| case GLenum::GL_RGB32F: // fall-through... |
| case GLenum::GL_RGB32I: // fall-through... |
| case GLenum::GL_RGB32UI: // fall-through... |
| case GLenum::GL_RGB565: // fall-through... |
| case GLenum::GL_RGB5_A1: // fall-through... |
| case GLenum::GL_RGB8: // fall-through... |
| case GLenum::GL_RGB8I: // fall-through... |
| case GLenum::GL_RGB8UI: // fall-through... |
| case GLenum::GL_RGB8_SNORM: // fall-through... |
| case GLenum::GL_RGB9_E5: // fall-through... |
| case GLenum::GL_RGBA16F: // fall-through... |
| case GLenum::GL_RGBA16I: // fall-through... |
| case GLenum::GL_RGBA16UI: // fall-through... |
| case GLenum::GL_RGBA32F: // fall-through... |
| case GLenum::GL_RGBA32I: // fall-through... |
| case GLenum::GL_RGBA32UI: // fall-through... |
| case GLenum::GL_RGBA4: // fall-through... |
| case GLenum::GL_RGBA8: // fall-through... |
| case GLenum::GL_RGBA8I: // fall-through... |
| case GLenum::GL_RGBA8UI: // fall-through... |
| case GLenum::GL_RGBA8_SNORM: // fall-through... |
| case GLenum::GL_SRGB8: // fall-through... |
| case GLenum::GL_SRGB8_ALPHA8: { |
| break; |
| } |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_10x10: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_10x5: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_10x6: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_10x8: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_12x10: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_12x12: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_4x4: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_5x4: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_5x5: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_6x5: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_6x6: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_8x5: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_8x6: // fall-through... |
| case GLenum::GL_COMPRESSED_RGBA_ASTC_8x8: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6: // fall-through... |
| case GLenum::GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8: // fall-through... |
| case GLenum::GL_STENCIL_INDEX8: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, internalformat); |
| } |
| } |
| (void)levels; |
| (void)width; |
| (void)height; |
| (void)depth; |
| return; |
| } |
| |
| void GlesSpy::subTexSubImage3D(const std::function<void()>& call, uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, uint32_t format, uint32_t type, TexturePointer data) { |
| switch (target) { |
| case GLenum::GL_TEXTURE_2D_ARRAY: // fall-through... |
| case GLenum::GL_TEXTURE_3D: { |
| break; |
| } |
| case GLenum::GL_TEXTURE_CUBE_MAP_ARRAY: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(2L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, target); |
| } |
| } |
| switch (format) { |
| case GLenum::GL_ALPHA: // fall-through... |
| case GLenum::GL_DEPTH_COMPONENT: // fall-through... |
| case GLenum::GL_DEPTH_STENCIL: // fall-through... |
| case GLenum::GL_LUMINANCE: // fall-through... |
| case GLenum::GL_LUMINANCE_ALPHA: // fall-through... |
| case GLenum::GL_RED: // fall-through... |
| case GLenum::GL_RED_INTEGER: // fall-through... |
| case GLenum::GL_RG: // fall-through... |
| case GLenum::GL_RGB: // fall-through... |
| case GLenum::GL_RGBA: // fall-through... |
| case GLenum::GL_RGBA_INTEGER: // fall-through... |
| case GLenum::GL_RGB_INTEGER: // fall-through... |
| case GLenum::GL_RG_INTEGER: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, format); |
| } |
| } |
| switch (type) { |
| case GLenum::GL_HALF_FLOAT_OES: { |
| subRequiresExtension(call, ExtensionId::GL_OES_texture_half_float); |
| break; |
| } |
| case GLenum::GL_BYTE: // fall-through... |
| case GLenum::GL_FLOAT: // fall-through... |
| case GLenum::GL_FLOAT_32_UNSIGNED_INT_24_8_REV: // fall-through... |
| case GLenum::GL_HALF_FLOAT: // fall-through... |
| case GLenum::GL_INT: // fall-through... |
| case GLenum::GL_SHORT: // fall-through... |
| case GLenum::GL_UNSIGNED_BYTE: // fall-through... |
| case GLenum::GL_UNSIGNED_INT: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_24_8: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_5_9_9_9_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT_4_4_4_4: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT_5_5_5_1: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT_5_6_5: { |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, type); |
| } |
| } |
| (void)level; |
| (void)xoffset; |
| (void)yoffset; |
| (void)zoffset; |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| if (((data) != (nullptr)) && ((findOrZero(checkNotNull(l_ctx).mBoundBuffers, GLenum::GL_PIXEL_UNPACK_BUFFER)) == ((BufferId)(0UL)))) { |
| uint32_t l__res_0 = subImageSize(call, (uint32_t)(width), (uint32_t)(height), format, type); |
| uint32_t l_size = (l__res_0) * ((uint32_t)(depth)); |
| read(slice((uint8_t*)(data), (uint64_t)(0UL), (uint64_t)(l_size))); |
| } |
| return; |
| } |
| |
| std::shared_ptr<TransformFeedback> GlesSpy::subGetBoundTransformFeedback(const std::function<void()>& call) { |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| return findOrZero(checkNotNull(l_ctx).mInstances.mTransformFeedbacks, checkNotNull(l_ctx).mBoundTransformFeedback); |
| } |
| |
| std::shared_ptr<VertexArray> GlesSpy::subNewVertexArray(const std::function<void()>& call, std::shared_ptr<Context> ctx) { |
| std::shared_ptr<VertexArray> l_array = std::shared_ptr<VertexArray>(new VertexArray(VertexBufferBindingIndexToVertexBufferBinding__R(), AttributeLocationToVertexAttributeArray__R(), (GLuint)(0UL), "")); |
| for (VertexBufferBindingIndex l_i = (VertexBufferBindingIndex)(0UL); l_i < checkNotNull(ctx).mConstants.mMaxVertexAttribBindings; ++l_i) { |
| checkNotNull(l_array).mVertexBufferBindings[l_i] = std::shared_ptr<VertexBufferBinding>(new VertexBufferBinding((GLintptr)(0L), (GLsizei)(16L), (GLuint)(0UL), (BufferId)(0UL))); |
| } |
| for (AttributeLocation l_i = (AttributeLocation)(0UL); l_i < checkNotNull(ctx).mConstants.mMaxVertexAttribs; ++l_i) { |
| checkNotNull(l_array).mVertexAttributeArrays[l_i] = std::shared_ptr<VertexAttributeArray>(new VertexAttributeArray(GLbooleanLabels::GL_FALSE, (GLint)(4L), (GLsizei)(0L), GLenum::GL_FLOAT, GLbooleanLabels::GL_FALSE, GLbooleanLabels::GL_FALSE, (GLuint)(0UL), nullptr, (GLuint)(0UL), (VertexBufferBindingIndex)(l_i), (GLuint)(0UL))); |
| } |
| return l_array; |
| } |
| |
| GLint GlesSpy::subVertexAttribTypeSize(const std::function<void()>& call, uint32_t type) { |
| return /* switch(type) */ |
| /* case GLenum::GL_BYTE, GLenum::GL_UNSIGNED_BYTE: */(((type) == (GLenum::GL_BYTE))|| ((type) == (GLenum::GL_UNSIGNED_BYTE))) ? ((GLint)(1L)) : |
| /* case GLenum::GL_SHORT, GLenum::GL_UNSIGNED_SHORT, GLenum::GL_HALF_FLOAT, GLenum::GL_HALF_FLOAT_OES: */(((type) == (GLenum::GL_SHORT))|| ((type) == (GLenum::GL_UNSIGNED_SHORT))|| ((type) == (GLenum::GL_HALF_FLOAT))|| ((type) == (GLenum::GL_HALF_FLOAT_OES))) ? ((GLint)(2L)) : |
| /* case GLenum::GL_INT, GLenum::GL_UNSIGNED_INT, GLenum::GL_FLOAT, GLenum::GL_FIXED: */(((type) == (GLenum::GL_INT))|| ((type) == (GLenum::GL_UNSIGNED_INT))|| ((type) == (GLenum::GL_FLOAT))|| ((type) == (GLenum::GL_FIXED))) ? ((GLint)(4L)) : |
| /* case GLenum::GL_INT_2_10_10_10_REV, GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: */(((type) == (GLenum::GL_INT_2_10_10_10_REV))|| ((type) == (GLenum::GL_UNSIGNED_INT_2_10_10_10_REV))) ? ((GLint)(4L)) : |
| /* default: */ 0; |
| } |
| |
| void GlesSpy::subBindVertexBuffer(const std::function<void()>& call, std::shared_ptr<Context> ctx, VertexBufferBindingIndex binding_index, BufferId buffer, GLintptr offset, GLsizei stride) { |
| subGlErrorInvalidValueIf(call, (binding_index) >= (checkNotNull(ctx).mConstants.mMaxVertexAttribBindings)); |
| subGlErrorInvalidValueIf(call, (offset) < ((GLintptr)(0L))); |
| subGlErrorInvalidValueIf(call, (stride) < ((GLsizei)(0L))); |
| subGlErrorInvalidValueIf(call, (stride) > ((GLsizei)(checkNotNull(ctx).mConstants.mMaxVertexAttribStride))); |
| if (!(checkNotNull(ctx).mInstances.mBuffers.count(buffer) > 0)) { |
| checkNotNull(ctx).mInstances.mBuffers[buffer] = std::shared_ptr<Buffer>(new Buffer(Slice<uint8_t>(), Slice<uint8_t>(), (GLsizeiptr)(0L), GLenum::GL_STATIC_DRAW, 0, GLbooleanLabels::GL_FALSE, nullptr, (GLintptr)(0L), (GLsizeiptr)(0L), "")); |
| } |
| std::shared_ptr<VertexArray> l_vao4 = findOrZero(checkNotNull(ctx).mInstances.mVertexArrays, checkNotNull(ctx).mBoundVertexArray); |
| std::shared_ptr<VertexBufferBinding> l_binding = findOrZero(checkNotNull(l_vao4).mVertexBufferBindings, binding_index); |
| checkNotNull(l_binding).mBuffer = buffer; |
| checkNotNull(l_binding).mOffset = offset; |
| checkNotNull(l_binding).mStride = stride; |
| return; |
| } |
| |
| void GlesSpy::subDeleteVertexArrays(const std::function<void()>& call, GLsizei count, VertexArrayId* arrays) { |
| subGlErrorInvalidValueIf(call, (count) < ((GLsizei)(0L))); |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| Slice<VertexArrayId> l_a = slice(arrays, (uint64_t)((GLsizei)(0L)), (uint64_t)(count)); |
| for (GLsizei l_i = (GLsizei)(0L); l_i < count; ++l_i) { |
| VertexArrayId l_id = read(l_a, (uint64_t)(l_i)); |
| if ((l_id) != ((VertexArrayId)(0UL))) { |
| if (checkNotNull(l_ctx).mInstances.mVertexArrays.count(l_id) > 0) { |
| checkNotNull(l_ctx).mInstances.mVertexArrays.erase(l_id); |
| if ((checkNotNull(l_ctx).mBoundVertexArray) == (l_id)) { |
| checkNotNull(l_ctx).mBoundVertexArray = (VertexArrayId)(0UL); |
| } |
| } |
| } |
| } |
| return; |
| } |
| |
| GLboolean GlesSpy::subIsVertexArray(const std::function<void()>& call, VertexArrayId array) { |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| return (GLboolean)(((array) != ((VertexArrayId)(0UL))) && (checkNotNull(l_ctx).mInstances.mVertexArrays.count(array) > 0)); |
| } |
| |
| void GlesSpy::subVertexAttribBinding(const std::function<void()>& call, std::shared_ptr<Context> ctx, AttributeLocation index, VertexBufferBindingIndex binding_index) { |
| subGlErrorInvalidValueIf(call, (index) >= (checkNotNull(ctx).mConstants.mMaxVertexAttribs)); |
| subGlErrorInvalidValueIf(call, (binding_index) >= (checkNotNull(ctx).mConstants.mMaxVertexAttribBindings)); |
| std::shared_ptr<VertexArray> l_vao5 = findOrZero(checkNotNull(ctx).mInstances.mVertexArrays, checkNotNull(ctx).mBoundVertexArray); |
| checkNotNull(findOrZero(checkNotNull(l_vao5).mVertexAttributeArrays, index)).mBinding = binding_index; |
| return; |
| } |
| |
| void GlesSpy::subVertexAttribFormat(const std::function<void()>& call, std::shared_ptr<Context> ctx, AttributeLocation index, GLint size, uint32_t type, GLboolean normalized, GLuint relativeOffset, bool integer) { |
| subGlErrorInvalidValueIf(call, (index) >= (checkNotNull(ctx).mConstants.mMaxVertexAttribs)); |
| subGlErrorInvalidValueIf(call, !((((GLint)(1L)) <= (size)) && ((size) <= ((GLint)(4L))))); |
| if (integer) { |
| switch (type) { |
| case GLenum::GL_BYTE: // fall-through... |
| case GLenum::GL_INT: // fall-through... |
| case GLenum::GL_SHORT: // fall-through... |
| case GLenum::GL_UNSIGNED_BYTE: // fall-through... |
| case GLenum::GL_UNSIGNED_INT: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, type); |
| } |
| } |
| } else { |
| switch (type) { |
| case GLenum::GL_BYTE: // fall-through... |
| case GLenum::GL_FIXED: // fall-through... |
| case GLenum::GL_FLOAT: // fall-through... |
| case GLenum::GL_SHORT: // fall-through... |
| case GLenum::GL_UNSIGNED_BYTE: // fall-through... |
| case GLenum::GL_UNSIGNED_SHORT: { |
| subMinRequiredVersion(call, (GLint)(2L), (GLint)(0L)); |
| break; |
| } |
| case GLenum::GL_HALF_FLOAT_OES: { |
| subRequiresExtension(call, ExtensionId::GL_OES_vertex_half_float); |
| break; |
| } |
| case GLenum::GL_HALF_FLOAT: // fall-through... |
| case GLenum::GL_INT: // fall-through... |
| case GLenum::GL_UNSIGNED_INT: { |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| case GLenum::GL_INT_2_10_10_10_REV: // fall-through... |
| case GLenum::GL_UNSIGNED_INT_2_10_10_10_REV: { |
| subGlErrorInvalidOperationIf(call, (size) != ((GLint)(4L))); |
| subMinRequiredVersion(call, (GLint)(3L), (GLint)(0L)); |
| break; |
| } |
| default: { |
| subGlErrorInvalidEnum(call, type); |
| } |
| } |
| } |
| subGlErrorInvalidValueIf(call, (relativeOffset) > ((GLuint)(checkNotNull(ctx).mConstants.mMaxVertexAttribRelativeOffset))); |
| std::shared_ptr<VertexArray> l_vao = findOrZero(checkNotNull(ctx).mInstances.mVertexArrays, checkNotNull(ctx).mBoundVertexArray); |
| std::shared_ptr<VertexAttributeArray> l_format = findOrZero(checkNotNull(l_vao).mVertexAttributeArrays, index); |
| checkNotNull(l_format).mSize = size; |
| checkNotNull(l_format).mType = type; |
| if (!(integer)) { |
| checkNotNull(l_format).mNormalized = normalized; |
| } |
| checkNotNull(l_format).mRelativeOffset = relativeOffset; |
| checkNotNull(l_format).mInteger = (GLboolean)(integer); |
| return; |
| } |
| |
| void GlesSpy::subVertexAttribI(const std::function<void()>& call, AttributeLocation location, Vec4i value) { |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| subGlErrorInvalidValueIf(call, (location) >= (checkNotNull(l_ctx).mConstants.mMaxVertexAttribs)); |
| Slice<Vec4i> l_vals = make<Vec4i>(1ULL); |
| write(l_vals, 0ULL, value); |
| checkNotNull(l_ctx).mVertexAttributes[location] = VertexAttributeValue(l_vals.as<uint8_t>()); |
| return; |
| } |
| |
| void GlesSpy::subVertexAttribPointer(const std::function<void()>& call, std::shared_ptr<Context> ctx, AttributeLocation index, GLint size, uint32_t type, GLboolean normalized, GLsizei stride, VertexPointer pointer, bool integer) { |
| BufferId l_boundArrayBuffer = findOrZero(checkNotNull(ctx).mBoundBuffers, GLenum::GL_ARRAY_BUFFER); |
| subGlErrorInvalidValueIf(call, (stride) < ((GLsizei)(0L))); |
| subGlErrorInvalidValueIf(call, (stride) > ((GLsizei)(checkNotNull(ctx).mConstants.mMaxVertexAttribStride))); |
| subGlErrorInvalidOperationIf(call, ((checkNotNull(ctx).mBoundVertexArray) != ((VertexArrayId)(0UL))) && (((l_boundArrayBuffer) == ((BufferId)(0UL))) && ((pointer) != (nullptr)))); |
| subVertexAttribFormat(call, ctx, index, size, type, normalized, (GLuint)(0UL), integer); |
| VertexBufferBindingIndex l_binding_index = (VertexBufferBindingIndex)(index); |
| subVertexAttribBinding(call, ctx, index, l_binding_index); |
| GLint l_vertexTypeSize = subVertexAttribTypeSize(call, type); |
| GLsizei l_effectiveStride = /* switch((stride) != ((GLsizei)(0L))) */ |
| /* case true: */((((stride) != ((GLsizei)(0L))) == (true))) ? (stride) : |
| /* case false: */((((stride) != ((GLsizei)(0L))) == (false))) ? ((GLsizei)((l_vertexTypeSize) * (size))) : |
| /* default: */ 0; |
| std::shared_ptr<VertexArray> l_vao6 = findOrZero(checkNotNull(ctx).mInstances.mVertexArrays, checkNotNull(ctx).mBoundVertexArray); |
| checkNotNull(findOrZero(checkNotNull(l_vao6).mVertexAttributeArrays, index)).mStride = stride; |
| checkNotNull(findOrZero(checkNotNull(l_vao6).mVertexAttributeArrays, index)).mPointer = pointer; |
| if (((checkNotNull(ctx).mBoundVertexArray) == ((VertexArrayId)(0UL))) && ((l_boundArrayBuffer) == ((BufferId)(0UL)))) { |
| subBindVertexBuffer(call, ctx, l_binding_index, (BufferId)(0UL), (GLintptr)(0L), l_effectiveStride); |
| } else { |
| GLintptr l_offset = (GLintptr)((uint64_t)(pointer)); |
| subBindVertexBuffer(call, ctx, l_binding_index, l_boundArrayBuffer, l_offset, l_effectiveStride); |
| } |
| return; |
| } |
| |
| void GlesSpy::subMinRequiredVersion(const std::function<void()>& call, GLint requiredMajor, GLint requiredMinor) { |
| std::shared_ptr<Context> l_ctx = subGetContext(call); |
| GLint l_major = checkNotNull(l_ctx).mConstants.mMajorVersion; |
| GLint l_minor = checkNotNull(l_ctx).mConstants.mMinorVersion; |
| if (((l_major) < (requiredMajor)) || (((l_major) == (requiredMajor)) && ((l_minor) < (requiredMinor)))) { |
| subGlErrorInvalidOperation(call); |
| } |
| return; |
| } |
| |
| void GlesSpy::subRequiresExtension(const std::function<void()>& call, uint32_t ext) { |
| return; |
| } |
| |
| void GlesSpy::subRequiresExtension2(const std::function<void()>& call, uint32_t ext, uint32_t ext2) { |
| return; |
| } |
| |
| void GlesSpy::subGlErrorInvalidEnum(const std::function<void()>& call, uint32_t param) { |
| std::shared_ptr<Context> l__res_0 = subGetContext(call); |
| onGlError(l__res_0, GLenum::GL_INVALID_ENUM); |
| abort(); |
| return; |
| } |
| |
| void GlesSpy::subGlErrorInvalidValue(const std::function<void()>& call) { |
| std::shared_ptr<Context> l__res_0 = subGetContext(call); |
| onGlError(l__res_0, GLenum::GL_INVALID_VALUE); |
| abort(); |
| return; |
| } |
| |
| void GlesSpy::subGlErrorInvalidOperation(const std::function<void()>& call) { |
| std::shared_ptr<Context> l__res_0 = subGetContext(call); |
| onGlError(l__res_0, GLenum::GL_INVALID_OPERATION); |
| abort(); |
| return; |
| } |
| |
| uint32_t GlesSpy::subImageType(const std::function<void()>& call, uint32_t internalFormat) { |
| return /* switch(internalFormat) */ |
| /* case GLenum::GL_ALPHA8_EXT: */(((internalFormat) == (GLenum::GL_ALPHA8_EXT))) ? (GLenum::GL_UNSIGNED_BYTE) : |
| /* case GLenum::GL_R8, GLenum::GL_R8UI, GLenum::GL_RG8, GLenum::GL_RG8UI, GLenum::GL_RGB8, GLenum::GL_SRGB8, GLenum::GL_RGB8UI, GLenum::GL_RGBA8, GLenum::GL_SRGB8_ALPHA8, GLenum::GL_RGBA8UI, GLenum::GL_STENCIL_INDEX8: */(((internalFormat) == (GLenum::GL_R8))|| ((internalFormat) == (GLenum::GL_R8UI))|| ((internalFormat) == (GLenum::GL_RG8))|| ((internalFormat) == (GLenum::GL_RG8UI))|| ((internalFormat) == (GLenum::GL_RGB8))|| ((internalFormat) == (GLenum::GL_SRGB8))|| ((internalFormat) == (GLenum::GL_RGB8UI))|| ((internalFormat) == (GLenum::GL_RGBA8))|| ((internalFormat) == (GLenum::GL_SRGB8_ALPHA8))|| ((internalFormat) == (GLenum::GL_RGBA8UI))|| ((internalFormat) == (GLenum::GL_STENCIL_INDEX8))) ? (GLenum::GL_UNSIGNED_BYTE) : |
| /* case GLenum::GL_R8_SNORM, GLenum::GL_R8I, GLenum::GL_RG8_SNORM, GLenum::GL_RG8I, GLenum::GL_RGB8_SNORM, GLenum::GL_RGB8I, GLenum::GL_RGBA8_SNORM, GLenum::GL_RGBA8I: */(((internalFormat) == (GLenum::GL_R8_SNORM))|| ((internalFormat) == (GLenum::GL_R8I))|| ((internalFormat) == (GLenum::GL_RG8_SNORM))|| ((internalFormat) == (GLenum::GL_RG8I))|| ((internalFormat) == (GLenum::GL_RGB8_SNORM))|| ((internalFormat) == (GLenum::GL_RGB8I))|| ((internalFormat) == (GLenum::GL_RGBA8_SNORM))|| ((internalFormat) == (GLenum::GL_RGBA8I))) ? (GLenum::GL_BYTE) : |
| /* case GLenum::GL_R16, GLenum::GL_R16UI, GLenum::GL_RG16, GLenum::GL_RG16UI, GLenum::GL_RGB16, GLenum::GL_RGB16UI, GLenum::GL_RGBA16, GLenum::GL_RGBA16UI, GLenum::GL_DEPTH_COMPONENT16: */(((internalFormat) == (GLenum::GL_R16))|| ((internalFormat) == (GLenum::GL_R16UI))|| ((internalFormat) == (GLenum::GL_RG16))|| ((internalFormat) == (GLenum::GL_RG16UI))|| ((internalFormat) == (GLenum::GL_RGB16))|| ((internalFormat) == (GLenum::GL_RGB16UI))|| ((internalFormat) == (GLenum::GL_RGBA16))|| ((internalFormat) == (GLenum::GL_RGBA16UI))|| ((internalFormat) == (GLenum::GL_DEPTH_COMPONENT16))) ? (GLenum::GL_UNSIGNED_SHORT) : |
| /* case GLenum::GL_R16_SNORM, GLenum::GL_R16I, GLenum::GL_RG16_SNORM, GLenum::GL_RG16I, GLenum::GL_RGB16_SNORM, GLenum::GL_RGB16I, GLenum::GL_RGBA16_SNORM, GLenum::GL_RGBA16I: */(((internalFormat) == (GLenum::GL_R16_SNORM))|| ((internalFormat) == (GLenum::GL_R16I))|| ((internalFormat) == (GLenum::GL_RG16_SNORM))|| ((internalFormat) == (GLenum::GL_RG16I))|| ((internalFormat) == (GLenum::GL_RGB16_SNORM))|| ((internalFormat) == (GLenum::GL_RGB16I))|| ((internalFormat) == (GLenum::GL_RGBA16_SNORM))|| ((internalFormat) == (GLenum::GL_RGBA16I))) ? (GLenum::GL_SHORT) : |
| /* case GLenum::GL_RGB565: */(((internalFormat) == (GLenum::GL_RGB565))) ? (GLenum::GL_UNSIGNED_SHORT_5_6_5) : |
| /* case GLenum::GL_RGB5_A1: */(((internalFormat) == (GLenum::GL_RGB5_A1))) ? (GLenum::GL_UNSIGNED_SHORT_5_5_5_1) : |
| /* case GLenum::GL_RGBA4: */(((internalFormat) == (GLenum::GL_RGBA4))) ? (GLenum::GL_UNSIGNED_SHORT_4_4_4_4) : |
| /* case GLenum::GL_R32UI, GLenum::GL_RG32UI, GLenum::GL_RGB32UI, GLenum::GL_RGBA32UI, GLenum::GL_DEPTH_COMPONENT24: */(((internalFormat) == (GLenum::GL_R32UI))|| ((internalFormat) == (GLenum::GL_RG32UI))|| ((internalFormat) == (GLenum::GL_RGB32UI))|| ((internalFormat) == (GLenum::GL_RGBA32UI))|| ((internalFormat) == (GLenum::GL_DEPTH_COMPONENT24))) ? (GLenum::GL_UNSIGNED_INT) : |
| /* case GLenum::GL_R32I, GLenum::GL_RG32I, GLenum::GL_RGB32I, GLenum::GL_RGBA32I: */(((internalFormat) == (GLenum::GL_R32I))|| ((internalFormat) == (GLenum::GL_RG32I))|| ((internalFormat) == (GLenum::GL_RGB32I))|| ((internalFormat) == (GLenum::GL_RGBA32I))) ? (GLenum::GL_INT) : |
| /* case GLenum::GL_R11F_G11F_B10F: */(((internalFormat) == (GLenum::GL_R11F_G11F_B10F))) ? (GLenum::GL_UNSIGNED_INT_10F_11F_11F_REV) : |
| /* case GLenum::GL_RGB9_E5: */(((internalFormat) == (GLenum::GL_RGB9_E5))) ? (GLenum::GL_UNSIGNED_INT_5_9_9_9_REV) : |
| /* case GLenum::GL_RGB10_A2: */(((internalFormat) == (GLenum::GL_RGB10_A2))) ? (GLenum::GL_UNSIGNED_INT_2_10_10_10_REV) : |
| /* case GLenum::GL_RGB10_A2UI: */(((internalFormat) == (GLenum::GL_RGB10_A2UI))) ? (GLenum::GL_UNSIGNED_INT_2_10_10_10_REV) : |
| /* case GLenum::GL_DEPTH24_STENCIL8: */(((internalFormat) == (GLenum::GL_DEPTH24_STENCIL8))) ? (GLenum::GL_UNSIGNED_INT_24_8) : |
| /* case GLenum::GL_R16F, GLenum::GL_RG16F, GLenum::GL_RGB16F, GLenum::GL_RGBA16F: */(((internalFormat) == (GLenum::GL_R16F))|| ((internalFormat) == (GLenum::GL_RG16F))|| ((internalFormat) == (GLenum::GL_RGB16F))|| ((internalFormat) == (GLenum::GL_RGBA16F))) ? (GLenum::GL_HALF_FLOAT) : |
| /* case GLenum::GL_R32F, GLenum::GL_RG32F, GLenum::GL_RGB32F, GLenum::GL_RGBA32F, GLenum::GL_DEPTH_COMPONENT32F: */(((internalFormat) == (GLenum::GL_R32F))|| ((internalFormat) == (GLenum::GL_RG32F))|| ((internalFormat) == (GLenum::GL_RGB32F))|| ((internalFormat) == (GLenum::GL_RGBA32F))|| ((internalFormat) == (GLenum::GL_DEPTH_COMPONENT32F))) ? (GLenum::GL_FLOAT) : |
| /* case GLenum::GL_DEPTH32F_STENCIL8: */(((internalFormat) == (GLenum::GL_DEPTH32F_STENCIL8))) ? (GLenum::GL_FLOAT_32_UNSIGNED_INT_24_8_REV) : |
| /* default: */ internalFormat; |
| } |
| |
| std::shared_ptr<Context> GlesSpy::subGetContext(const std::function<void()>& call) { |
| std::shared_ptr<Context> l_context = findOrZero(this->Contexts, this->CurrentThread); |
| if ((l_context) == (std::shared_ptr<Context>())) { |
| subError(call, "No context bound"); |
| } |
| return l_context; |
| } |
| |
| void GlesSpy::subSetContext(const std::function<void()>& call, std::shared_ptr<Context> context) { |
| this->Contexts[this->CurrentThread] = context; |
| return; |
| } |
| |
| std::shared_ptr<Context> GlesSpy::subCreateContext(const std::function<void()>& call) { |
| ContextID l_identifier = this->NextContextID; |
| this->NextContextID = (this->NextContextID) + ((ContextID)(1UL)); |
| std::shared_ptr<Context> l_ctx = std::shared_ptr<Context>(new Context(0, ContextCreationInfo(), DebugState(), RasterizationState(), FragmentOperationsState(), FramebufferState(), ProgramsState(), GLenumToFramebufferId(), GLenumToRenderbufferId(), GLenumToBufferId(), 0, 0, 0, AttributeLocationToVertexAttributeValue(), GLenumToTextureUnit__R(), GLuintToImageUnit(), GLenum::GL_TEXTURE0, PixelStorageState(), MiscellaneousState(), GLenumToQueryId(), Objects(), Constants())); |
| checkNotNull(l_ctx).mIdentifier = l_identifier; |
| checkNotNull(l_ctx).mInstances.mBuffers[(BufferId)(0UL)] = std::shared_ptr<Buffer>(new Buffer(Slice<uint8_t>(), Slice<uint8_t>(), (GLsizeiptr)(0L), GLenum::GL_STATIC_DRAW, 0, GLbooleanLabels::GL_FALSE, nullptr, (GLintptr)(0L), (GLsizeiptr)(0L), "")); |
| checkNotNull(l_ctx).mInstances.mTextures[(TextureId)(0UL)] = std::shared_ptr<Texture>(new Texture(0, TextureKind::UNDEFINED, 0, 0, GLintToImage(), GLintToCubemapLevel(), GLenum::GL_RED, GLenum::GL_GREEN, GLenum::GL_BLUE, GLenum::GL_ALPHA, std::move(Vec4f{(GLfloat)(0.f), (GLfloat)(0.f), (GLfloat)(0.f), (GLfloat)(0.f)}), GLenum::GL_NEAREST_MIPMAP_LINEAR, GLenum::GL_LINEAR, GLenum::GL_REPEAT, GLenum::GL_REPEAT, GLenum::GL_REPEAT, (GLfloat)(-1000.f), (GLfloat)(1000.f), (GLint)(0L), (GLint)(1000L), GLenum::GL_DEPTH_COMPONENT, GLenum::GL_NONE, GLenum::GL_LEQUAL, GLbooleanLabels::GL_FALSE, (GLuint)(0UL), "", (GLfloat)(1.f))); |
| checkNotNull(l_ctx).mInstances.mRenderbuffers[(RenderbufferId)(0UL)] = std::shared_ptr<Renderbuffer>(new Renderbuffer(Slice<uint8_t>(), 0, (GLsizei)(0L), (GLsizei)(0L), "")); |
| checkNotNull(l_ctx).mInstances.mTransformFeedbacks[(TransformFeedbackId)(0UL)] = std::shared_ptr<TransformFeedback>(new TransformFeedback(GLuintToBufferBinding(), GLbooleanLabels::GL_FALSE, GLbooleanLabels::GL_FALSE, "")); |
| RenderbufferId l_color_id = (RenderbufferId)(4294967295UL); |
| RenderbufferId l_depth_id = (RenderbufferId)(4294967294UL); |
| RenderbufferId l_stencil_id = (RenderbufferId)(4294967293UL); |
| checkNotNull(l_ctx).mInstances.mRenderbuffers[l_color_id] = std::shared_ptr<Renderbuffer>(new Renderbuffer(Slice<uint8_t>(), 0, (GLsizei)(0L), (GLsizei)(0L), "")); |
| checkNotNull(l_ctx).mInstances.mRenderbuffers[l_depth_id] = std::shared_ptr<Renderbuffer>(new Renderbuffer(Slice<uint8_t>(), 0, (GLsizei)(0L), (GLsizei)(0L), "")); |
| checkNotNull(l_ctx).mInstances.mRenderbuffers[l_stencil_id] = std::shared_ptr<Renderbuffer>(new Renderbuffer(Slice<uint8_t>(), 0, (GLsizei)(0L), (GLsizei)(0L), "")); |
| std::shared_ptr<Framebuffer> l_backbuffer = std::shared_ptr<Framebuffer>(new Framebuffer(GLenumToFramebufferAttachment(), GLintToGLenum(), 0, (GLint)(0L), (GLint)(0L), (GLint)(0L), (GLint)(0L), GLbooleanLabels::GL_FALSE, "")); |
| checkNotNull(l_backbuffer).mAttachments[GLenum::GL_COLOR_ATTACHMENT0] = FramebufferAttachment(GLenum::GL_RENDERBUFFER, (GLuint)(l_color_id), (GLint)(0L), GLenum::GL_NONE, (GLint)(0L), GLbooleanLabels::GL_FALSE); |
| checkNotNull(l_backbuffer).mAttachments[GLenum::GL_DEPTH_ATTACHMENT] = FramebufferAttachment(GLenum::GL_RENDERBUFFER, (GLuint)(l_depth_id), (GLint)(0L), GLenum::GL_NONE, (GLint)(0L), GLbooleanLabels::GL_FALSE); |
| checkNotNull(l_backbuffer).mAttachments[GLenum::GL_STENCIL_ATTACHMENT] = FramebufferAttachment(GLenum::GL_RENDERBUFFER, (GLuint)(l_stencil_id), (GLint)(0L), GLenum::GL_NONE, (GLint)(0L), GLbooleanLabels::GL_FALSE); |
| checkNotNull(l_ctx).mInstances.mFramebuffers[(FramebufferId)(0UL)] = l_backbuffer; |
| checkNotNull(l_ctx).mBoundFramebuffers[GLenum::GL_DRAW_FRAMEBUFFER] = (FramebufferId)(0UL); |
| checkNotNull(l_ctx).mBoundFramebuffers[GLenum::GL_READ_FRAMEBUFFER] = (FramebufferId)(0UL); |
| return l_ctx; |
| } |
| |
| uint32_t GlesSpy::subIndexSize(const std::function<void()>& call, uint32_t indices_type) { |
| return /* switch(indices_type) */ |
| /* case GLenum::GL_UNSIGNED_BYTE: */(((indices_type) == (GLenum::GL_UNSIGNED_BYTE))) ? (1UL) : |
| /* case GLenum::GL_UNSIGNED_SHORT: */(((indices_type) == (GLenum::GL_UNSIGNED_SHORT))) ? (2UL) : |
| /* case GLenum::GL_UNSIGNED_INT: */(((indices_type) == (GLenum::GL_UNSIGNED_INT))) ? (4UL) : |
| /* default: */ 0; |
| } |
| |
| void GlesSpy::subErrorGLES10notSupported(const std::function<void()>& call) { |
| std::shared_ptr<Context> l__res_0 = subGetContext(call); |
| onGlError(l__res_0, GLenum::GL_INVALID_OPERATION); |
| abort(); |
| return; |
| } |
| } // namespace gapii |