Legal claims defining the scope of protection, as filed with the USPTO.
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. The method of claim 1 , further comprising: updating the offset register to indicate the second location.
3. The method of claim 2 , wherein the second location comprises an available location within the instruction table.
4. The method of claim 1 , wherein the first shader program does not include an explicit instruction table offset.
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. 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. The method of claim 6 , further comprising: configuring a program sequencer to control the graphics pipeline.
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. 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. 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. 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. The GPU of claim 11 , wherein the graphics pipeline comprises a program sequencer configured to control the graphics pipeline.
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. 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. 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. The GPU of claims 11 , wherein the first shader program does not include an explicit address.
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. 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. 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. 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.
Unknown
April 15, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.