keywords: Graphics, GPU Architecture, IMG CXT, NVIDIA RTX, Ray Tracing on Mobile, GPU ISA, Instruction Set Architecture



Nvidia Technical Blog

Graphics Reinvented: Ray Tracing, AI, and Advanced Shading Deliver A Whole New Way To Experience Games

DLSS (Deep Learning Super Sampling)

NVIDIA DLSS: Your Questions, Answered

RTXGI (Real-time Ray Traced Global Illumination)

RTX Global Illumination

RTXDI (RTX Direct Illumination)

RTX Direct Illumination (RTXDI)



Introduction to AMD GPU Hardware

PowerVR Photon


The first mobile GPU core with ray tracing

GPU ISA (Instruction Set Architecture)


Assembler for NVIDIA Maxwell architecture

Nvidia doesn’t publish any offical documents for ISA since for the commercial protection: NVIDIA Instruction Set Architecture - Documentation (Maxwell)


AMD GPU ISA documentation


SIMD in the GPU world

Memory Accessing Architecture

Immediate Mode GPUs

Immediate Mode GPUs

Tile-based GPUs

Tile-based GPUs

GPU Framebuffer Memory: Understanding Tiling

Hardware Capabilities

Texture Sampler

OpenGL ES 3.0

  • Turns off support for compute Shaders and related features (compute buffers, random-write Textures), sparse Textures, tessellation Shaders and geometry Shaders. Enforces maximum of 4 simultaneous render targets, and maximum of 16 Textures used in a single Shader. Maximum allowed Texture size is set to 4096, and maximum cubemap size to 2048. Realtime soft shadows are disabled.


  • Same restrictions applied as GLES3.0 emulation, except that the maximum cubemap size is set to 4096.

OpenGL ES 2.0

  • In addition to features turned off by GLES3.0 emulation, this also turns off support for draw call instancing, Texture arrays, 3D Textures and multiple render targets. Enforces a maximum of 8 Textures used in a single Shader. Maximum allowed cubemap size is set to 1024.

Origin: Graphics hardware capabilities and emulation

Max Texture Size

How to check the hardware limitation on the texture sizes:

int[] max = new int[1];
//put the maximum texture size in the array.
gl.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, max, 0);

Origin: Limitation on texture size? Android Open GL ES 2.0

The advantage of a bad memory is that one enjoys several times the same good things for the first time. ― Friedrich Nietzsche