×

Using programmable constant buffers for multi-threaded processing

  • US 8,094,158 B1
  • Filed: 01/31/2006
  • Issued: 01/10/2012
  • Est. Priority Date: 01/31/2006
  • Status: Active Grant
First Claim
Patent Images

1. A method of using multiple memory buffers for storing constant values utilized by shader programs during multi-threaded processing, comprising:

  • storing a first set of constant values in a first memory buffer;

    loading a first entry corresponding to the first set of constant values in a constant buffer table with a base address of the first memory buffer, wherein each loaded entry in the constant buffer table is identifiable by an index value and comprises an address corresponding to one of the multiple memory buffers;

    loading a first slot entry in a slot table with the index value associated with the loaded first entry in the constant buffer table, wherein each loaded slot entry in the slot table comprises an index value associated with one of the entries in the constant buffer table;

    determining that a transition from configuration commands to data processing commands has occurred;

    incrementing an inflight count indicating that the first set of constant values is a new version of the constant values; and

    outputting an instruction associated with a first shader program to a data processing command path of a multiprocessor pipeline, wherein the instruction comprises an identifier for the first slot entry and an offset value and accesses a first value for a programmable constant in the first set of constant values that corresponds to the base address of the first memory buffer offset by the offset value.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×