Image loads, stores and atomic operations

US10134169B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10134169-B2
Application numberUS-85560210-A
CountryUS
Kind codeB2
Filing dateAug 12, 2010
Priority dateSep 11, 2009
Publication dateNov 20, 2018
Grant dateNov 20, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

One embodiment of the present invention sets forth a method for accessing texture objects stored within a texture memory. The method comprises the steps of receiving a texture bind request from an application program, wherein the texture bind request includes an object identifier that identifies a first texture object stored in the texture memory and an image identifier that identifies a first image unit, binding the first texture object to the first image unit based on the texture bind request, receiving, within a shader engine, a first shading program command from the application program for performing a first memory access operation on the first texture object, wherein the memory access operation is a store operation or atomic operation to an arbitrary location in the image, and performing, within the shader engine, the first memory access operation on the first texture object via the first image unit.

First claim

Opening claim text (preview).

We claim: 1. A non-transitory computer-readable storage medium including instructions that, when executed by a processor, perform the steps of: receiving a texture bind request from an application program, wherein the texture bind request includes an object identifier that identifies a first texture object stored in the texture memory and an image identifier that identifies a first image unit; binding the first texture object to the first image unit based on the texture bind request; receiving, within a shader engine, a first shading program command from the application program for performing a first memory access operation on the first texture object, wherein the first shading program command includes an image uniform variable that references the first image unit and has a first texture dimensionality, and wherein the memory access operation is a store operation or an atomic operation to an arbitrary location in the first image unit; and performing, within the shader engine, the first memory access operation on a texel included within the first texture object via the first image unit, wherein a format of coordinates of the texel is determined based on the first texture dimensionality. 2. The non-transitory computer-readable storage medium of claim 1 , wherein the first texture object is a multi-layer texture object, and the texture bind request identifies one or more layers of the first texture object that are to be bound to the first image unit, wherein each layer corresponds to a different level of detail of the first texture object. 3. The non-transitory computer-readable storage medium of claim 1 , wherein the texture bind request specifies one or more types of memory access operations that can be performed on the first texture object via the first image unit. 4. The non-transitory computer-readable storage medium of claim 3 , wherein the step of performing the first memory access operation comprises determining that the first memory access operation is associated with one of the one or more types of memory access operations that can be performed on the first texture object. 5. The non-transitory computer-readable storage medium of claim 1 , wherein the first memory access operation identifies a first portion of the first texture object. 6. The non-transitory computer-readable storage medium of claim 5 , wherein the first memory access operation is a texture read operation, and the step of performing the first memory access operation comprises retrieving texture data from the first portion of the first texture object. 7. The non-transitory computer-readable storage medium of claim 5 , wherein the first memory access operation is a texture write operation, and the step of performing the first memory access operation comprises writing texture data to the first portion of the first texture object. 8. The non-transitory computer-readable storage medium of claim 7 , wherein the step of writing the texture data to the first portion comprises formatting the texture data according to a format specified by the texture bind request. 9. The non-transitory computer-readable storage medium of claim 5 , wherein the first memory access operation is a texture atomic operation, and the step of performing the first memory access operation comprises: loading texture data stored in the first portion of the texture object; performing an arithmetic operation on the texture data; writing the result of the arithmetic operation to the first portion of the first texture object; and returning the texture data to the shader engine. 10. The non-transitory computer-readable storage medium of claim 5 , wherein the first portion of the texture object is identified by a set of integer coordinates. 11. The non-transitory computer-readable storage medium of claim 1 , wherein the shader engine is any shader engine included within a graphics processing pipeline. 12. The non-transitory computer-readable storage medium of claim 1 , wherein the first image unit is selected according to a value computed by a second shading program command. 13. A method for accessing texture objects stored within a texture memory, the method comprising: receiving a texture bind request from an application program, wherein the texture bind request includes an object identifier that identifies a first texture object stored in the texture memory and an image identifier that identifies a first image unit; binding the first texture object to the first image unit based on the texture bind request; receiving, within a shader engine, a first shading program command from the application program for performing a first memory access operation on the first texture object, wherein the first shading program command includes an image uniform variable that references the first image unit and has a first texture dimensionality, and wherein the memory access operation is a store operation or an atomic operation to an arbitrary location in the first image unit; and performing, within the shader engine, the first memory access operation on a texel included within the first texture object via the first image unit, wherein a format of coordinates of the texel is determined based on the first texture dimensionality. 14. The method of claim 13 , wherein the first texture object is a multi-layer texture object, and the texture bind request identifies one or more layers of the first texture object that are to be bound to the first image unit, wherein each layer corresponds to a different level of detail of the first texture object. 15. The method of claim 13 , wherein the texture bind request specifies one or more types of memory access operations that can be performed on the first texture object via the first image unit. 16. The method of claim 13 , wherein the first memory access operation identifies a first portion of the first texture object. 17. The method of claim 16 , wherein the first memory access operation is a texture read operation, and the step of performing the first memory access operation comprises retrieving texture data from the first portion of the first texture object. 18. The method of claim 16 , wherein the first memory access operation is a texture write operation, and the step of performing the first memory access operation comprises writing texture data to the first portion of the first texture object. 19. The method of claim 18 , wherein the step of writing the texture data to the first portion comprises formatting the texture data according to a format specified by the texture bind request. 20. The method of claim 16 , wherein the first memory access operation is a texture atomic operation, and the step of performing the first memory access operation comprises: loading texture data stored in the first portion of the texture object; performing an arithmetic operation on the texture data; writing the result of the arithmetic operation to the first portion of the first texture object; and returning the texture data to the shader engine. 21. The method of claim 13 , wherein the shader engine is any shader engine included within a graphics processing pipeline. 22. A computer system, comprising: a memory; and a processor configured to: receive a texture bind request from an application program, wherein the texture bind request includes an object identifier that identifies a first texture object stored in the texture memory and an image identifier that identifies a first image unit; bind the first texture object to the fi

Assignees

Inventors

Classifications

  • based on arbitration (arbitration in handling access to a common bus or bus system G06F13/36) · CPC title

  • G06T15/005Primary

    General purpose rendering architectures · CPC title

  • Shading · CPC title

  • Graphics controllers · CPC title

  • Processor architectures; Processor configuration, e.g. pipelining · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10134169B2 cover?
One embodiment of the present invention sets forth a method for accessing texture objects stored within a texture memory. The method comprises the steps of receiving a texture bind request from an application program, wherein the texture bind request includes an object identifier that identifies a first texture object stored in the texture memory and an image identifier that identifies a first …
Who is the assignee on this patent?
Bolz Jeffrey A, Brown Patrick R, Nvidia Corp
What technology area does this patent fall under?
Primary CPC classification G06T15/005. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 20 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).