8698819

Software assisted shader merging

PublishedApril 15, 2014
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of software assisted shader merging for a graphics pipeline, comprising: accessing a first shader program in memory; generating a register packet for configuring a graphics module within the graphics pipeline, wherein the register packet comprises an address intended for a target graphics module and a first shader instruction generated from the first shader program; upon receipt of the register packet by the target graphics module, loading the first shader instruction into an instruction table of the target graphics module at a first location indicated by an offset register associated with the target graphics module, wherein the graphics pipeline comprises the instruction table; accessing a second shader program in memory; generating a second shader instruction from the second shader program; and loading the second shader instruction into the instruction table at a second location indicated by the offset register, wherein the first shader instruction is in the instruction table when the second shader instruction is loaded into the instruction table.

2

2. The method of claim 1 , further comprising: updating the offset register to indicate the second location.

3

3. The method of claim 2 , wherein the second location comprises an available location within the instruction table.

4

4. The method of claim 1 , wherein the first shader program does not include an explicit instruction table offset.

5

5. The method of claim 1 , wherein accessing the first shader program comprises performing a direct memory access (DMA) transfer of an instruction block associated with the first shader program.

6

6. The method of claim 1 , further comprising: accessing a modified second shader program in memory; generating a modified second shader instruction from the modified second shader program; and loading the modified second shader instruction into the instruction table at the second location, without reloading the first shader instruction.

7

7. The method of claim 6 , further comprising: configuring a program sequencer to control the graphics pipeline.

8

8. The method of claim 7 , wherein configuring the program sequencer comprises loading a plurality of command instructions into a command table associated with the program sequencer.

9

9. The method of claim 7 , further comprising: reconfiguring the program sequencer, to preserve an execution order of the first shader instruction and the modified second shader instruction.

10

10. The method of claim 6 , wherein the loading of the modified second shader instruction into the instruction table at the second location is performed without reloading a third shader instruction generated from the second shader program.

11

11. A graphics processing unit (GPU) for loading a shader program, comprising: an integrated circuit die comprising a plurality of stages of the GPU; a memory interface for interfacing with a graphics memory; and a host interface for interfacing with a computer system, wherein the plurality of stages comprises a graphics pipeline configured to: access a first shader program in memory; generate a register packet for configuring a graphics module within the graphics pipeline, wherein the register packet comprises an address intended for a target graphics module and a first shader instruction generated from the first shader program; upon receipt of the register packet by the target graphics module, load the first shader instruction into an instruction table of the target graphics module at a first location indicated by an offset register associated with the target graphics module, wherein a stage of the plurality of stages of the GPU comprises the instruction table; access a second shader program in memory; generate a second shader instruction from the second shader program; and load a second shader instruction into the instruction table at a second location indicated by the offset register, wherein the graphics pipeline is operable to load the second shader instruction into the instruction table when the first shader instruction is in the instruction table.

12

12. The GPU of claim 11 , wherein the graphics pipeline comprises a program sequencer configured to control the graphics pipeline.

13

13. The GPU of claim 12 , wherein the program sequencer is configured by loading a plurality of command instructions into a command table associated with the program sequencer.

14

14. The GPU of claim 12 , wherein the graphics pipeline is further configured to: access a modified second shader program in memory; generate a modified second shader instruction from the modified second shader program; and load the modified second shader instruction into the instruction table at the second location, without reloading the first shader instruction.

15

15. The GPU of claim 14 , wherein the program sequencer is reconfigured to preserve an execution order of the first shader instruction and the modified second shader instruction.

16

16. The GPU of claims 11 , wherein the first shader program does not include an explicit address.

17

17. A handheld computer system device, comprising: a system memory; a central processing unit (CPU) coupled to the system memory; and a graphics processing unit (GPU) communicatively coupled to the CPU, wherein the GPU includes a graphics pipeline for executing a shader program, and wherein the graphics pipeline is configured to: access a first shader program in memory; generate a register packet for configuring a graphics module within the graphics pipeline, wherein the register packet comprises an address intended for a target graphics module and a first shader instruction generated from the first shader program; upon receipt of the register packet by the target graphics module, load the first shader instruction into an instruction table of the target graphics module at a first location indicated by an offset register associated with the target graphics module, wherein the graphics pipeline comprises the instruction table; access a second shader program in memory; generate a second shader instruction from the second shader program; and load a second shader instruction into the instruction table at a second location indicated by the offset register, wherein the graphics pipeline is operable to load the second shader instruction into the instruction table when the first shader instruction is in the instruction table.

18

18. The handheld computer system device of claim 17 , wherein the first shader programs stored in memory does not include an explicit instruction table offset.

19

19. The handheld computer system device of claim 17 , wherein the graphics pipeline is further configured to: access a modified second shader program in memory; generate a modified second shader instruction from the modified second shader program; and load the modified second shader instruction into the instruction table at the second location, without reloading the first shader instruction.

20

20. The handheld computer system device of claim 19 , wherein the graphics pipeline is further configured to preserve an execution order of the first shader instruction and the modified second shader instruction.

Patent Metadata

Filing Date

Unknown

Publication Date

April 15, 2014

Inventors

Justin Michael Mahan
Edward A. Hutchins

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Software assisted shader merging” (8698819). https://patentable.app/patents/8698819

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.