Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetUploadData(uint)

Gets the VariantsUploadedToGpuLastFrame.UploadData for the shader variant at the given index.
Read time 1 minuteLast updated 10 days ago

Definition

public static VariantsUploadedToGpuLastFrame.UploadData GetUploadData(uint index)

Parameters

index

The index of the shader variant in the data uploaded to the GPU driver.

Returns

Type

Description

UploadDataThe upload data corresponding to the given index.

Remarks

Use this method to get information about the shader variant with index
index
uploaded to the GPU driver during the last frame. Throws an exception if
index
is greater than or equal to
Count
.

Examples

using UnityEngine;using UnityEngine.Shaders;/* Attach this script to a GameObect. When run in the player, it reports shader variants sent to the GPU driver for compilation during the last frame in the console.*/public class VariantsUploadedToGpuLogger : MonoBehaviour{ void Update() { uint variantCount = VariantsUploadedToGpuLastFrame.count; if (variantCount > 0) { Debug.Log("Sent " + variantCount + " variants to the GPU."); for (uint variantIndex = 0; variantIndex < variantCount; ++variantIndex) { VariantsUploadedToGpuLastFrame.UploadData d; if (!VariantsUploadedToGpuLastFrame.TryGetUploadData(variantIndex, out d)) continue; string keywords = "'"; for (uint keywordIndex = 0; keywordIndex < d.keywords.Length; ++keywordIndex) { if (keywordIndex != 0) keywords += " "; keywords += d.keywords[keywordIndex].name; } keywords += "'"; string passId = "subshader " + (d.passIdentifier.SubshaderIndex + 1) + " pass " + (d.passIdentifier.PassIndex + 1); string description = "Shader " + d.shader.name + " " + passId + " stages " + d.stages; Debug.Log(description + " keywords " + keywords + " uploaded in " + d.uploadTimeInMilliseconds + " ms."); } } }}