IP Library Granted Patent US 8,954,947
Granted Patent B2
US 8,954,947 · App. 11/478,285 · Granted Feb 10, 2015

Fast variable validation for state management of a graphics pipeline

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,954,947
App. No.
11/478,285
Granted
Feb 10, 2015
Kind
B2
Abstract

In a state management system of an effects system implemented in a Graphics Processing Unit (GPU), techniques and technologies are provided for setting a value to particular variables at application run-time without validating the variables. For example, a compiled effects file comprising a number of variables can be loaded at application load time, and a generic, variable interface pointer for a particular variable of the effects file can be retrieved. A specialized variable interface pointer can then be generated which is associated with the particular variable by specifying a desired type of access that will be performed on the particular variable. At application run-time, the specialized variable interface can be used to set a value to each of the particular variables without validating the particular variables at application run-time.

Claims (43)

1. In a state management system, a method comprising:

generating at load time a specialized variable interface pointer associated with a variable comprised in a loaded compiled effects file by specifying a desired type of access that will be performed on the variable, where a generic variable interface pointer has been retrieved for the variable; and

using a specialized variable interface to set a value to the variable at application run-time without validating the variable at application run-time.

2. The method in the state management system of claim 1 , wherein using a specialized variable interface to set a value to the variable at application run-time without validating the variable at application run-time comprises:

setting a value to the variable having a set time format at application run-time by fast copying the variable to memory without validating the variable at application run-time.

3. The method in the state management system of claim 1 , wherein using a specialized variable interface to set a value to the variable at application run-time without validating the variable at application run-time comprises:

automatically performing an operation on other variables having a different format than a set time format to convert the other variables to the set time format; and

setting a value to the converted variables at application run-time without validating the converted variables at application run-time.

4. The method in the state management system of claim 3 , wherein the operation comprises a run-time conversion.

5. The method in the state management system of claim 4 , wherein the run-time conversion comprises at least one of:

conversion from integer value-to-floating point value,

conversion from floating point value-to-integer value,

transposing a matrix,

packing and unpacking array data, or

performing additional checks on object variables.

6. The method in the state management system of claim 1 , wherein the specialized variable interface pointer specifies a set time format an application expects for the variable.

7. The method in the state management system of claim 6 , wherein the set time format comprises a format used by the application to perform at least one of getting or setting values to the variable.

8. The method in the state management system of claim 1 , wherein the specialized variable interface pointer specifies a variable type an application expects for the variable.

9. The method in the state management system of claim 1 , wherein the variable comprises an effect variable.

10. A hardware computer storage memory, comprising an application programming interface (API) for instructing a graphics processing unit to:

generate at load time a specialized variable interface pointer associated with a variable comprised in a loaded compiled effects file by specifying a desired type of access that will be performed on the variable, where a generic variable interface pointer has been retrieved for the variable; and

use a specialized variable interface to set a value to the variable at application run-time without validating the variable at application run-time.

11. The hardware computer storage memory of claim 10 , the API instructing the graphics processing unit to:

set a value to the variable having a set time format at application run-time by fast copying the variable to memory without validating the variable at application run-time.

12. The hardware computer storage memory of claim 10 , the API instructing the graphics processing unit to:

perform an operation on other variables having a different format than a set time format to convert the other variables to the set time format; and

set a value to at least one of the converted variables at application run-time without validating the converted variables at application run-time.

13. The hardware computer storage memory of claim 12 , wherein the operation comprises a run-time conversion.

14. The hardware computer storage memory of claim 13 , wherein the run-time conversion comprises at least one of:

conversion from integer value-to-floating point value,

conversion from floating point value-to-integer value,

transposing a matrix,

packing and unpacking array data, or

performing additional checks on object variables.

15. The hardware computer storage memory of claim 10 , wherein the specialized variable interface pointer specifies a set time format an application associated with the API expects for the variable.

16. The hardware computer storage memory of claim 15 , wherein the set time format comprises a format used by the application to perform at least one of getting or setting values to the variable.

17. The hardware computer storage memory of claim 10 , wherein the specialized variable interface pointer specifies a variable type an application associated with the API expects for the variable.

18. The hardware computer storage memory of claim 10 , wherein the variable comprises an effect variable.

19. A method, implemented at least in part via a processing unit, comprising:

generating at load time a specialized variable interface pointer associated with a variable comprised in a loaded compiled effects file by specifying a desired type of access that will be performed on the variable, where a generic variable interface pointer has been retrieved for the variable; and

using a specialized variable interface to set a value to the variable at application run-time without validating the variable at application run-time.

20. The method of claim 19 , wherein using a specialized variable interface to set a value to the variable at application run-time without validating the variable at application run-time comprises:

setting a value to the variable having a set time format at application run-time by fast copying the variable to memory without validating the variable at application run-time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →