sales@scenomics.com +1 650 396 9674

Checking System Capabilities

In this exercise you'll learn how to check your system capabilities.

Start The Shader Application

  1. Start the Shader app. (Start » Programs » Scenomics » Shader) or (Windows® key and then type 'Shader' to find the app icon.)

    The application displays a splash screen and then the application desktop appears.

    This is a picture of the desktop.

Run System Capabilities Command

  1. Examine the main menu and select File » Your System Capabilities.

    The application prints system capabilities in the output window. The first thing you'll notice is some messages indicating that shader programs are being compiled. These are instrumentation shaders designed to detect what GLSL versions are supported by your machine. It is normal to see shader compiler error messages here if your GPU does not support a specific profile.

    The section <Supported GLSL Compilers> is the most useful for the purposes of these exercises because it clearly tells you which GLSL profiles are supported by your GPU.

    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    Compiling Program 0x000002B69B9DC7D0 0x0000000000000000 <TestGlProfile>
    
    --- <Executing Command 'ApplicationDisplaySystemHardwareCapabilities'> ---
    
    <Supported GLSL Compilers>
    
    Your graphics card supports profile: 100
    Your graphics card supports profile: 110
    Your graphics card supports profile: 120
    Your graphics card supports profile: 130
    Your graphics card supports profile: 140
    Your graphics card supports profile: 150 compatibility
    Your graphics card supports profile: 150 core
    Your graphics card supports profile: 300 es
    Your graphics card supports profile: 310 es
    Your graphics card supports profile: 320 es
    Your graphics card supports profile: 330 compatibility
    Your graphics card supports profile: 330 core
    Your graphics card supports profile: 400 compatibility
    Your graphics card supports profile: 400 core
    Your graphics card supports profile: 410 compatibility
    Your graphics card supports profile: 410 core
    Your graphics card supports profile: 420 compatibility
    Your graphics card supports profile: 420 core
    Your graphics card supports profile: 430 compatibility
    Your graphics card supports profile: 430 core
    Your graphics card supports profile: 440 compatibility
    Your graphics card supports profile: 440 core
    Your graphics card supports profile: 450 compatibility
    Your graphics card supports profile: 450 core
    Your graphics card supports profile: 460 compatibility
    Your graphics card supports profile: 460 core
    
    <OpenGL glGet Queries>
    
    GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX : 6067440
    GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX : 6291456
    GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX : 0
    GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX : 0
    GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX : 6291456
    GL_MAX : 0
    GL_MAX_3D_TEXTURE_SIZE : 16384
    GL_MAX_3D_TEXTURE_SIZE_EXT : 16384
    GL_MAX_4D_TEXTURE_SIZE_SGIS : 0
    GL_MAX_ACTIVE_LIGHTS_SGIX : 0
    GL_MAX_ARRAY_TEXTURE_LAYERS : 2048
    GL_MAX_ARRAY_TEXTURE_LAYERS_EXT : 2048
    GL_MAX_ASYNC_DRAW_PIXELS_SGIX : 0
    GL_MAX_ASYNC_HISTOGRAM_SGIX : 0
    GL_MAX_ASYNC_READ_PIXELS_SGIX : 0
    GL_MAX_ASYNC_TEX_IMAGE_SGIX : 0
    GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS : 8
    GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE : 65536
    GL_MAX_BINDABLE_UNIFORM_SIZE_EXT : 65536
    GL_MAX_CLIP_DISTANCES : 8
    GL_MAX_CLIPMAP_DEPTH_SGIX : 0
    GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX : 0
    GL_MAX_COLOR_ATTACHMENTS : 8
    GL_MAX_COLOR_ATTACHMENTS_EXT : 8
    GL_MAX_COLOR_MATRIX_STACK_DEPTH : 2
    GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI : 2
    GL_MAX_COLOR_TEXTURE_SAMPLES : 32
    GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS : 48
    GL_MAX_COMBINED_ATOMIC_COUNTERS : 98304
    GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES : 8
    GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS : 231424
    GL_MAX_COMBINED_DIMENSIONS : 0
    GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS : 233472
    GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS : 231424
    GL_MAX_COMBINED_IMAGE_UNIFORMS : 48
    GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS : 16
    GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT : 16
    GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES : 16
    GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS : 96
    GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS : 231424
    GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS : 231424
    GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS : 192
    GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB : 192
    GL_MAX_COMBINED_UNIFORM_BLOCKS : 84
    GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS : 233472
    GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS : 8
    GL_MAX_COMPUTE_ATOMIC_COUNTERS : 16384
    GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB : 1024
    GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB : 1024
    GL_MAX_COMPUTE_IMAGE_UNIFORMS : 8
    GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS : 16
    GL_MAX_COMPUTE_SHARED_MEMORY_SIZE : 49152
    GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS : 32
    GL_MAX_COMPUTE_UNIFORM_BLOCKS : 14
    GL_MAX_COMPUTE_UNIFORM_COMPONENTS : 2048
    GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB : 1024
    GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB : 1024
    GL_MAX_COMPUTE_WORK_GROUP_COUNT : 2147483647
    GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS : 1024
    GL_MAX_COMPUTE_WORK_GROUP_SIZE : 1024
    GL_MAX_CONVOLUTION_HEIGHT : 0
    GL_MAX_CONVOLUTION_HEIGHT_EXT : 0
    GL_MAX_CONVOLUTION_WIDTH : 0
    GL_MAX_CONVOLUTION_WIDTH_EXT : 0
    GL_MAX_CUBE_MAP_TEXTURE_SIZE : 32768
    GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB : 32768
    GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT : 32768
    GL_MAX_CULL_DISTANCES : 8
    GL_MAX_DEBUG_GROUP_STACK_DEPTH : 64
    GL_MAX_DEBUG_LOGGED_MESSAGES : 128
    GL_MAX_DEBUG_LOGGED_MESSAGES_AMD : 128
    GL_MAX_DEBUG_LOGGED_MESSAGES_ARB : 128
    GL_MAX_DEBUG_MESSAGE_LENGTH : 1024
    GL_MAX_DEBUG_MESSAGE_LENGTH_AMD : 1024
    GL_MAX_DEBUG_MESSAGE_LENGTH_ARB : 1024
    GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV : 0
    GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV : 0
    GL_MAX_DEFORMATION_ORDER_SGIX : 0
    GL_MAX_DEPTH : 0
    GL_MAX_DEPTH_TEXTURE_SAMPLES : 32
    GL_MAX_DRAW_BUFFERS : 8
    GL_MAX_DRAW_BUFFERS_ARB : 8
    GL_MAX_DRAW_BUFFERS_ATI : 8
    GL_MAX_DUAL_SOURCE_DRAW_BUFFERS : 1
    GL_MAX_ELEMENT_INDEX : -1
    GL_MAX_ELEMENTS_INDICES : 1048576
    GL_MAX_ELEMENTS_INDICES_EXT : 1048576
    GL_MAX_ELEMENTS_VERTICES : 1048576
    GL_MAX_ELEMENTS_VERTICES_EXT : 1048576
    GL_MAX_EXT : 0
    GL_MAX_FOG_FUNC_POINTS_SGIS : 0
    GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS : 8
    GL_MAX_FRAGMENT_ATOMIC_COUNTERS : 16384
    GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT : 14
    GL_MAX_FRAGMENT_IMAGE_UNIFORMS : 8
    GL_MAX_FRAGMENT_INPUT_COMPONENTS : 128
    GL_MAX_FRAGMENT_INTERPOLATION_OFFSET : 1
    GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV : 1
    GL_MAX_FRAGMENT_LIGHTS_SGIX : 0
    GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV : 1024
    GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS : 16
    GL_MAX_FRAGMENT_UNIFORM_BLOCKS : 14
    GL_MAX_FRAGMENT_UNIFORM_COMPONENTS : 4096
    GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB : 4096
    GL_MAX_FRAGMENT_UNIFORM_VECTORS : 1024
    GL_MAX_FRAMEBUFFER_HEIGHT : 32768
    GL_MAX_FRAMEBUFFER_LAYERS : 2048
    GL_MAX_FRAMEBUFFER_SAMPLES : 32
    GL_MAX_FRAMEBUFFER_WIDTH : 32768
    GL_MAX_FRAMEZOOM_FACTOR_SGIX : 0
    GL_MAX_GENERAL_COMBINERS_NV : 8
    GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS : 8
    GL_MAX_GEOMETRY_ATOMIC_COUNTERS : 16384
    GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT : 14
    GL_MAX_GEOMETRY_IMAGE_UNIFORMS : 8
    GL_MAX_GEOMETRY_INPUT_COMPONENTS : 128
    GL_MAX_GEOMETRY_OUTPUT_COMPONENTS : 128
    GL_MAX_GEOMETRY_OUTPUT_VERTICES : 1024
    GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB : 1024
    GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT : 1024
    GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV : 32
    GL_MAX_GEOMETRY_SHADER_INVOCATIONS : 32
    GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS : 16
    GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS : 32
    GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB : 32
    GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT : 32
    GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS : 1024
    GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB : 1024
    GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT : 1024
    GL_MAX_GEOMETRY_UNIFORM_BLOCKS : 14
    GL_MAX_GEOMETRY_UNIFORM_COMPONENTS : 2048
    GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB : 2048
    GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT : 2048
    GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB : 124
    GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT : 124
    GL_MAX_HEIGHT : 0
    GL_MAX_IMAGE_SAMPLES : 32
    GL_MAX_IMAGE_SAMPLES_EXT : 32
    GL_MAX_IMAGE_UNITS : 8
    GL_MAX_IMAGE_UNITS_EXT : 8
    GL_MAX_INTEGER_SAMPLES : 32
    GL_MAX_LABEL_LENGTH : 256
    GL_MAX_LAYERS : 0
    GL_MAX_MAP_TESSELLATION_NV : 0
    GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB : 0
    GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV : 5
    GL_MAX_NAME_LENGTH : 0
    GL_MAX_NUM_ACTIVE_VARIABLES : 0
    GL_MAX_NUM_COMPATIBLE_SUBROUTINES : 0
    GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT : 0
    GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT : 0
    GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT : 0
    GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT : 0
    GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT : 0
    GL_MAX_PALETTE_MATRICES_ARB : 32
    GL_MAX_PATCH_VERTICES : 32
    GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT : 0
    GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI : 0
    GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB : 0
    GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB : 0
    GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV : 0
    GL_MAX_PROGRAM_ATTRIBS_ARB : 0
    GL_MAX_PROGRAM_CALL_DEPTH_NV : 0
    GL_MAX_PROGRAM_ENV_PARAMETERS_ARB : 0
    GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV : 0
    GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV : 0
    GL_MAX_PROGRAM_GENERIC_RESULTS_NV : 0
    GL_MAX_PROGRAM_IF_DEPTH_NV : 0
    GL_MAX_PROGRAM_INSTRUCTIONS_ARB : 0
    GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB : 0
    GL_MAX_PROGRAM_LOOP_COUNT_NV : 0
    GL_MAX_PROGRAM_LOOP_DEPTH_NV : 0
    GL_MAX_PROGRAM_MATRICES_ARB : 8
    GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB : 1
    GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB : 0
    GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB : 0
    GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB : 0
    GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB : 0
    GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB : 0
    GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB : 0
    GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB : 0
    GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB : 0
    GL_MAX_PROGRAM_OUTPUT_VERTICES_NV : 0
    GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV : 14
    GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV : 16384
    GL_MAX_PROGRAM_PARAMETERS_ARB : 0
    GL_MAX_PROGRAM_PATCH_ATTRIBS_NV : 0
    GL_MAX_PROGRAM_RESULT_COMPONENTS_NV : 0
    GL_MAX_PROGRAM_SUBROUTINE_NUM_NV : 0
    GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV : 0
    GL_MAX_PROGRAM_TEMPORARIES_ARB : 0
    GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB : 0
    GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB : 0
    GL_MAX_PROGRAM_TEXEL_OFFSET : 7
    GL_MAX_PROGRAM_TEXEL_OFFSET_EXT : 7
    GL_MAX_PROGRAM_TEXEL_OFFSET_NV : 7
    GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB : 4
    GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET : 31
    GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB : 31
    GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV : 31
    GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV : 0
    GL_MAX_RASTER_SAMPLES_EXT : 16
    GL_MAX_RATIONAL_EVAL_ORDER_NV : 0
    GL_MAX_RECTANGLE_TEXTURE_SIZE : 32768
    GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB : 32768
    GL_MAX_RECTANGLE_TEXTURE_SIZE_NV : 32768
    GL_MAX_RENDERBUFFER_SIZE : 32768
    GL_MAX_RENDERBUFFER_SIZE_EXT : 32768
    GL_MAX_SAMPLE_MASK_WORDS : 2
    GL_MAX_SAMPLE_MASK_WORDS_NV : 2
    GL_MAX_SAMPLES : 32
    GL_MAX_SAMPLES_EXT : 32
    GL_MAX_SERVER_WAIT_TIMEOUT : -1
    GL_MAX_SHADER_BUFFER_ADDRESS_NV : -1
    GL_MAX_SHADER_STORAGE_BLOCK_SIZE : 2147483647
    GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS : 96
    GL_MAX_SHININESS_NV : 128
    GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD : 16384
    GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB : 16384
    GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS : 2048
    GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB : 2048
    GL_MAX_SPARSE_TEXTURE_SIZE_AMD : 32768
    GL_MAX_SPARSE_TEXTURE_SIZE_ARB : 32768
    GL_MAX_SPOT_EXPONENT_NV : 128
    GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV : 8
    GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS : 1024
    GL_MAX_SUBROUTINES : 1024
    GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS : 8
    GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS : 16384
    GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS : 8
    GL_MAX_TESS_CONTROL_INPUT_COMPONENTS : 128
    GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS : 128
    GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS : 16
    GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS : 32
    GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS : 4216
    GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS : 14
    GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS : 2048
    GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS : 8
    GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS : 16384
    GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS : 8
    GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS : 128
    GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS : 128
    GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS : 16
    GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS : 32
    GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS : 14
    GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS : 2048
    GL_MAX_TESS_GEN_LEVEL : 64
    GL_MAX_TESS_PATCH_COMPONENTS : 120
    GL_MAX_TEXTURE_BUFFER_SIZE : 134217728
    GL_MAX_TEXTURE_BUFFER_SIZE_ARB : 134217728
    GL_MAX_TEXTURE_BUFFER_SIZE_EXT : 134217728
    GL_MAX_TEXTURE_COORDS : 8
    GL_MAX_TEXTURE_COORDS_ARB : 8
    GL_MAX_TEXTURE_COORDS_NV : 8
    GL_MAX_TEXTURE_IMAGE_UNITS : 32
    GL_MAX_TEXTURE_IMAGE_UNITS_ARB : 32
    GL_MAX_TEXTURE_IMAGE_UNITS_NV : 32
    GL_MAX_TEXTURE_LOD_BIAS : 15
    GL_MAX_TEXTURE_LOD_BIAS_EXT : 15
    GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT : 16
    GL_MAX_TEXTURE_UNITS : 4
    GL_MAX_TEXTURE_UNITS_ARB : 4
    GL_MAX_TRACK_MATRICES_NV : 8
    GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV : 1
    GL_MAX_TRANSFORM_FEEDBACK_BUFFERS : 4
    GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS : 128
    GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT : 128
    GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV : 128
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS : 4
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT : 4
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV : 4
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS : 4
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT : 4
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV : 4
    GL_MAX_UNIFORM_BLOCK_SIZE : 65536
    GL_MAX_UNIFORM_BUFFER_BINDINGS : 84
    GL_MAX_UNIFORM_LOCATIONS : 65536
    GL_MAX_VARYING_COMPONENTS : 124
    GL_MAX_VARYING_COMPONENTS_EXT : 124
    GL_MAX_VARYING_FLOATS : 124
    GL_MAX_VARYING_FLOATS_ARB : 124
    GL_MAX_VARYING_VECTORS : 31
    GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV : 1048575
    GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS : 8
    GL_MAX_VERTEX_ATOMIC_COUNTERS : 16384
    GL_MAX_VERTEX_ATTRIB_BINDINGS : 16
    GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET : 2047
    GL_MAX_VERTEX_ATTRIB_STRIDE : 2048
    GL_MAX_VERTEX_ATTRIBS : 16
    GL_MAX_VERTEX_ATTRIBS_ARB : 16
    GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT : 14
    GL_MAX_VERTEX_HINT_PGI : 0
    GL_MAX_VERTEX_IMAGE_UNIFORMS : 8
    GL_MAX_VERTEX_OUTPUT_COMPONENTS : 128
    GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT : 0
    GL_MAX_VERTEX_SHADER_INVARIANTS_EXT : 0
    GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT : 0
    GL_MAX_VERTEX_SHADER_LOCALS_EXT : 0
    GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS : 16
    GL_MAX_VERTEX_SHADER_VARIANTS_EXT : 0
    GL_MAX_VERTEX_STREAMS : 4
    GL_MAX_VERTEX_STREAMS_ATI : 0
    GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS : 32
    GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB : 32
    GL_MAX_VERTEX_UNIFORM_BLOCKS : 14
    GL_MAX_VERTEX_UNIFORM_COMPONENTS : 4096
    GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB : 4096
    GL_MAX_VERTEX_UNIFORM_VECTORS : 1024
    GL_MAX_VERTEX_UNITS_ARB : 4
    GL_MAX_VERTEX_VARYING_COMPONENTS_ARB : 124
    GL_MAX_VERTEX_VARYING_COMPONENTS_EXT : 124
    GL_MAX_VIEWPORTS : 16
    GL_MAX_WIDTH : 0
    
    <Render3D.DeviceCaps>
    
    Version : 4.6.0 NVIDIA 430.86
     Major, Minor: 4, 6
    LanguageVersion: 4.60 NVIDIA
     Major, Minor: 4, 60
    MaxTextureWidth: 32768
    MaxTextureHeight: 32768
    MaxViewportWidth: 32768
    MaxViewportHeight: 32768
    
    <BaseSystemInfo>
    
    CPU RAM: 16228 MB
    CPU Count: 1
    Cores: 8
    MHz: 2208
    GPU Count: 2
    GPU RAM: 1024 MB
    GPU RAM: 4095 MB
    
    <Extensions>
    
    GL_SGIS_generate_mipmap
    GL_ARB_shading_language_100
    GL_NVX_conditional_render
    GL_EXT_texture_lod_bias
    GL_EXT_draw_range_elements
    GL_NV_shader_atomic_int64
    GL_EXT_texture_env_add
    GL_ARB_texture_env_add
    GL_ARB_shader_group_vote
    GL_ARB_buffer_storage
    GL_NV_feature_query
    GL_NV_transform_feedback
    GL_ARB_texture_compression
    GL_NV_texture_shader
    GL_EXT_separate_shader_objects
    GL_NV_vertex_buffer_unified_memory
    GL_NV_vertex_program
    GL_NV_conditional_render
    GL_ARB_transform_feedback2
    GL_NV_conservative_raster_pre_snap_triangles
    GL_EXT_shadow_funcs
    GL_ARB_transform_feedback3
    GL_NV_bindless_multi_draw_indirect_count
    GL_NV_shader_thread_shuffle
    GL_NV_draw_texture
    GL_NV_clip_space_w_scaling
    GL_NV_fragment_program
    GL_ARB_indirect_parameters
    GL_EXT_texture_lod
    GL_ARB_texture_query_lod
    GL_ARB_query_buffer_object
    GL_NV_path_rendering_shared_edge
    GL_EXT_stencil_two_side
    GL_ARB_texture_env_combine
    GL_ARB_shading_language_420pack
    GL_ARB_seamless_cube_map
    GL_ARB_window_pos
    GL_ARB_texture_env_dot3
    GL_ARB_shader_objects
    GL_EXT_texture_buffer_object
    GL_ARB_texture_buffer_object
    GL_NV_scissor_exclusive
    GL_EXT_texture_storage
    GL_ARB_texture_storage
    GL_ARB_shading_language_include
    GL_NV_gpu_program4_1
    GL_NV_fragment_coverage_to_color
    GL_NV_query_resource
    GL_ARB_texture_barrier
    GL_ARB_direct_state_access
    GL_ARB_arrays_of_arrays
    GL_NV_gpu_program5_mem_extended
    GL_NV_depth_buffer_float
    GL_NV_command_list
    GL_EXT_texture_filter_minmax
    GL_ARB_texture_filter_minmax
    GL_EXT_vertex_array_bgra
    GL_NV_vertex_array_range2
    GL_EXT_semaphore_win32
    GL_ARB_tessellation_shader
    GL_NV_bindless_multi_draw_indirect
    GL_ARB_gpu_shader_fp64
    GL_ARB_geometry_shader4
    GL_ARB_clear_texture
    GL_EXT_texture_env_dot3
    GL_ARB_separate_shader_objects
    GL_EXT_texture3D
    GL_AMD_vertex_shader_viewport_index
    GL_ARB_compatibility
    GL_NVX_nvenc_interop
    GL_EXT_texture_sRGB
    GL_SGIX_depth_texture
    GL_ARB_fragment_program_shadow
    GL_NV_internalformat_sample_query
    GL_NVX_gpu_memory_info
    GL_NV_transform_feedback2
    GL_NV_fence
    GL_ARB_stencil_texturing
    GL_EXT_texture_edge_clamp
    GL_ARB_texture_border_clamp
    GL_NV_shader_buffer_load
    GL_EXT_blend_subtract
    GL_EXT_texture_swizzle
    GL_EXT_framebuffer_multisample
    GL_ARB_texture_swizzle
    GL_ARB_get_program_binary
    GL_ARB_ES3_2_compatibility
    GL_ARB_vertex_array_bgra
    GL_WIN_swap_hint
    GL_EXT_texture_sRGB_decode
    GL_ARB_parallel_shader_compile
    GL_OVR_multiview
    GL_OVR_multiview2
    GL_NV_texture_compression_vtc
    GL_ARB_vertex_type_10f_11f_11f_rev
    GL_ARB_imaging
    GL_ARB_shader_viewport_layer_array
    GL_S3_s3tc
    GL_NV_gpu_program_fp64
    GL_ARB_conservative_depth
    GL_ARB_texture_gather
    GL_ARB_fragment_shader
    GL_ARB_shader_atomic_counters
    GL_EXT_memory_object
    GL_ARB_multisample
    GL_ARB_viewport_array
    GL_ARB_vertex_program
    GL_NV_sample_locations
    GL_EXT_texture_compression_latc
    GL_ARB_color_buffer_float
    GL_EXT_texture_mirror_clamp
    GL_NV_geometry_shader4
    GL_EXT_semaphore
    GL_ARB_texture_rg
    GL_ARB_shader_clock
    GL_EXT_bgra
    GL_ARB_sync
    GL_NV_representative_fragment_test
    GL_ARB_shadow
    GL_KHR_context_flush_control
    GL_ARB_texture_buffer_object_rgb32
    GL_EXT_geometry_shader4
    GL_ARB_pixel_buffer_object
    GL_ARB_timer_query
    GL_ARB_texture_cube_map_array
    GL_NV_vertex_array_range
    GL_ARB_texture_rectangle
    GL_ARB_shader_image_load_store
    GL_SGIX_shadow
    GL_ARB_clip_control
    GL_ARB_framebuffer_sRGB
    GL_ARB_copy_buffer
    GL_ARB_shader_storage_buffer_object
    GL_KHR_parallel_shader_compile
    GL_ARB_gpu_shader5
    GL_ARB_sparse_texture
    GL_ARB_texture_rgb10_a2ui
    GL_ARB_occlusion_query
    GL_EXT_texture_cube_map
    GL_ATI_draw_buffers
    GL_ARB_vertex_attrib_64bit
    GL_EXT_post_depth_coverage
    GL_ARB_transform_feedback_overflow_query
    GL_ARB_spirv_extensions
    GL_ARB_gpu_shader_int64
    GL_EXT_timer_query
    GL_SUN_slice_accum
    GL_ARB_explicit_uniform_location
    GL_NVX_multigpu_info
    GL_NV_viewport_array2
    GL_EXT_memory_object_win32
    GL_EXT_framebuffer_sRGB
    GL_EXT_texture_object
    GL_EXT_framebuffer_object
    GL_NV_framebuffer_multisample_coverage
    GL_NV_fill_rectangle
    GL_NV_explicit_multisample
    GL_ARB_invalidate_subdata
    GL_KHR_robust_buffer_access_behavior
    GL_NV_shader_texture_footprint
    GL_NV_memory_attachment
    GL_ARB_texture_float
    GL_ARB_map_buffer_alignment
    GL_ARB_shading_language_packing
    GL_ARB_texture_cube_map
    GL_ARB_compute_shader
    GL_ARB_multi_draw_indirect
    GL_ARB_fragment_layer_viewport
    GL_ARB_blend_func_extended
    GL_EXT_compiled_vertex_array
    GL_ARB_draw_buffers_blend
    GL_ARB_multitexture
    GL_NV_shader_thread_group
    GL_NV_depth_clamp
    GL_NV_texture_shader2
    GL_NV_register_combiners2
    GL_ARB_sparse_buffer
    GL_NV_texture_shader3
    GL_NV_shader_atomic_counters
    GL_ARB_texture_query_levels
    GL_ARB_framebuffer_no_attachments
    GL_EXT_packed_float
    GL_ARB_cull_distance
    GL_NV_vertex_program1_1
    GL_EXT_gpu_shader4
    GL_EXT_fog_coord
    GL_ARB_depth_buffer_float
    GL_ARB_base_instance
    GL_NV_fragment_program_option
    GL_EXT_stencil_wrap
    GL_NV_blend_minmax_factor
    GL_EXT_blend_color
    GL_EXT_shader_image_load_store
    GL_EXT_blend_minmax
    GL_NV_uniform_buffer_unified_memory
    GL_NV_fragment_shader_interlock
    GL_EXT_bindable_uniform
    GL_ARB_robust_buffer_access_behavior
    GL_NV_shader_atomic_float
    GL_ARB_shader_subroutine
    GL_ARB_seamless_cubemap_per_texture
    GL_AMD_seamless_cubemap_per_texture
    GL_ARB_provoking_vertex
    GL_ARB_texture_non_power_of_two
    GL_EXT_transform_feedback2
    GL_ARB_sample_locations
    GL_EXT_framebuffer_blit
    GL_ATI_texture_mirror_once
    GL_ARB_texture_buffer_range
    GL_ARB_ES2_compatibility
    GL_NV_parameter_buffer_object2
    GL_NV_shader_storage_buffer_object
    GL_ARB_framebuffer_object
    GL_NV_texture_multisample
    GL_NV_shading_rate_image
    GL_EXT_texture_env_combine
    GL_NV_copy_depth_to_color
    GL_ARB_vertex_shader
    GL_ARB_texture_view
    GL_ARB_half_float_vertex
    GL_NV_shader_atomic_fp16_vector
    GL_ARB_robustness
    GL_ARB_debug_output
    GL_EXT_texture_integer
    GL_EXT_draw_buffers2
    GL_EXT_point_parameters
    GL_EXT_direct_state_access
    GL_ARB_instanced_arrays
    GL_ARB_shader_texture_lod
    GL_NV_path_rendering
    GL_KHR_debug
    GL_ARB_explicit_attrib_location
    GL_NV_texture_barrier
    GL_EXT_sparse_texture2
    GL_EXT_secondary_color
    GL_ARB_sparse_texture2
    GL_EXT_draw_instanced
    GL_ARB_draw_instanced
    GL_NV_multisample_coverage
    GL_NV_compute_program5
    GL_ARB_depth_texture
    GL_ARB_half_float_pixel
    GL_ARB_occlusion_query2
    GL_NVX_blend_equation_advanced_multi_draw_buffers
    GL_EXT_texture_filter_anisotropic
    GL_EXT_gpu_program_parameters
    GL_ARB_texture_filter_anisotropic
    GL_ARB_shader_draw_parameters
    GL_NV_shader_atomic_float64
    GL_EXT_framebuffer_multisample_blit_scaled
    GL_NV_query_resource_tag
    GL_ARB_fragment_shader_interlock
    GL_ARB_derivative_control
    GL_NV_vertex_program2
    GL_NV_vertex_program3
    GL_ARB_gl_spirv
    GL_ATI_texture_float
    GL_EXT_texture_array
    GL_KTX_buffer_region
    GL_NV_conservative_raster_pre_snap
    GL_ARB_point_parameters
    GL_ARB_fragment_coord_conventions
    GL_ARB_texture_multisample
    GL_ARB_internalformat_query
    GL_NV_conservative_raster_underestimation
    GL_EXT_Cg_shader
    GL_KHR_robustness
    GL_EXT_multi_draw_arrays
    GL_ARB_uniform_buffer_object
    GL_NV_viewport_swizzle
    GL_NV_point_sprite
    GL_NV_pixel_data_range
    GL_ARB_copy_image
    GL_ARB_compute_variable_group_size
    GL_ARB_bindless_texture
    GL_EXT_win32_keyed_mutex
    GL_ARB_texture_stencil8
    GL_ARB_shader_precision
    GL_IBM_rasterpos_clip
    GL_EXT_texture_compression_dxt1
    GL_NV_compute_shader_derivatives
    GL_KHR_blend_equation_advanced
    GL_ARB_draw_indirect
    GL_ARB_texture_storage_multisample
    GL_ARB_get_texture_sub_image
    GL_EXT_provoking_vertex
    GL_ARB_program_interface_query
    GL_ARB_texture_compression_rgtc
    GL_IBM_texture_mirrored_repeat
    GL_NV_fog_distance
    GL_NV_conservative_raster
    GL_EXT_blend_func_separate
    GL_EXT_texture_compression_s3tc
    GL_EXT_texture_compression_rgtc
    GL_NV_texture_rectangle_compressed
    GL_NV_gpu_shader5
    GL_ARB_fragment_program
    GL_KHR_no_error
    GL_EXT_separate_specular_color
    GL_ARB_texture_env_crossbar
    GL_EXT_texture_shared_exponent
    GL_ARB_multi_bind
    GL_NV_texture_rectangle
    GL_ARB_sparse_texture_clamp
    GL_ARB_internalformat_query2
    GL_EXTX_framebuffer_mixed_formats
    GL_ARB_shader_texture_image_samples
    GL_NV_parameter_buffer_object
    GL_EXT_blend_equation_separate
    GL_ARB_shader_bit_encoding
    GL_NV_ES3_1_compatibility
    GL_NV_ES1_1_compatibility
    GL_ARB_ES3_compatibility
    GL_NV_alpha_to_coverage_dither_control
    GL_NV_mesh_shader
    GL_ARB_shader_atomic_counter_ops
    GL_NV_blend_equation_advanced
    GL_EXT_pixel_buffer_object
    WGL_EXT_swap_control
    GL_EXT_abgr
    GL_NV_framebuffer_mixed_samples
    GL_SGIS_texture_lod
    GL_ARB_texture_mirror_clamp_to_edge
    GL_ARB_point_sprite
    GL_NV_stereo_view_rendering
    GL_ARB_enhanced_layouts
    GL_NV_draw_vulkan_image
    GL_ARB_map_buffer_range
    GL_NV_blend_equation_advanced_coherent
    GL_ARB_clear_buffer_object
    GL_NV_conservative_raster_dilate
    GL_ARB_vertex_attrib_binding
    GL_NV_occlusion_query
    GL_NV_packed_depth_stencil
    GL_EXT_rescale_normal
    GL_NV_texgen_reflection
    GL_EXT_packed_pixels
    GL_NV_multisample_filter_hint
    GL_EXT_vertex_attrib_64bit
    GL_ARB_vertex_buffer_object
    GL_ARB_transform_feedback_instanced
    GL_ARB_post_depth_coverage
    GL_ARB_compressed_texture_pixel_storage
    GL_NV_vertex_program2_option
    GL_ARB_depth_clamp
    GL_NV_fragment_program2
    GL_NV_fragment_shader_barycentric
    GL_ARB_draw_buffers
    GL_KHR_blend_equation_advanced_coherent
    GL_ARB_shader_ballot
    GL_EXT_packed_depth_stencil
    GL_AMD_vertex_shader_layer
    GL_EXT_depth_bounds_test
    GL_ARB_sample_shading
    GL_EXT_shader_integer_mix
    GL_ARB_transpose_matrix
    GL_NV_float_buffer
    GL_ARB_sampler_objects
    GL_EXT_import_sync_object
    GL_ARB_vertex_type_2_10_10_10_rev
    GL_EXT_vertex_array
    GL_NV_gpu_program4
    GL_AMD_multi_draw_indirect
    GL_NV_gpu_program5
    GL_EXT_raster_multisample
    GL_ARB_shader_image_size
    GL_ARB_ES3_1_compatibility
    GL_ARB_conditional_render_inverted
    GL_NV_sample_mask_override_coverage
    GL_EXT_texture_sRGB_R8
    GL_NV_register_combiners
    GL_NV_texture_env_combine4
    GL_ARB_vertex_array_object
    GL_ARB_texture_mirrored_repeat
    GL_ARB_pipeline_statistics_query
    GL_EXT_window_rectangles
    GL_ARB_texture_compression_bptc
    GL_NV_primitive_restart
    GL_NV_half_float
    GL_NV_copy_image
    GL_NV_blend_square
    GL_NV_bindless_texture
    GL_NV_geometry_shader_passthrough
    GL_EXT_polygon_offset_clamp
    GL_ARB_polygon_offset_clamp
    GL_NV_vertex_attrib_integer_64bit
    GL_NV_light_max_exponent
    GL_EXT_shader_image_load_formatted
    GL_ARB_draw_elements_base_vertex
    

    This is how you can check your hardware for features and limits. Your hardware must support OpenGL 430 or higher to work with compute shaders, and it must support OpenGL 300 es in order to write shaders for Raspberry Pi® 3B.

    This exercise is complete. Return to tutorials.