Search

EP-4741027-A2 - APPARATUS, METHOD, AND COMPUTER PROGRAM

EP4741027A2EP 4741027 A2EP4741027 A2EP 4741027A2EP-4741027-A2

Abstract

Examples relate to an apparatus comprising processing circuitry comprising a graphics processing unit (GPU) wherein the processing circuitry is configured to transcode one or more textures to a selected format for execution, and cache the transcoded textures for subsequent reuse.

Inventors

  • BAO, JIA
  • XIE, CHAO
  • CHEN, YU
  • MAO, Xiaocheng
  • WANG, Changliang
  • YAO, YONG
  • SHI, Qiming
  • TANG, DONGJIE
  • ZHANG, HONGYU

Assignees

  • Intel Corporation

Dates

Publication Date
20260513
Application Date
20211216

Claims (15)

  1. An apparatus, comprising: processing circuitry comprising a graphics processing unit, GPU, wherein the processing circuitry is configured to: transcode one or more textures to a selected format for execution, cache the transcoded textures for subsequent reuse.
  2. The transcoding apparatus according to claim 1, wherein the selected format is a BC7 format.
  3. The transcoding apparatus according to one of the claims 1 or 2, wherein the processing circuitry is configured to store transcoded versions of the textures in a cache.
  4. The transcoding apparatus according to one of the claims 1 to 3, wherein the one or more textures are associated with a game.
  5. The transcoding apparatus according to claim 4, wherein the game is a game to be executed in one or more cloud gaming instances.
  6. The transcoding apparatus according to one of the claims 4 or 5, wherein the processing circuitry is configured to determine the selected format based on a texture format supported by a host of the cloud gaming instance.
  7. The transcoding apparatus according to one of the claims 4 to 6, wherein the GPU is used for transcoding the one or more textures.
  8. A method for a computer system, comprising: transcoding, by a graphics processing unit (GPU), one or more textures to a selected format for execution; and caching the transcoded textures for subsequent use.
  9. The method according to claim 8, wherein the selected format is a BC7 format.
  10. The method according to one of the claims 8 or 9, wherein transcoded versions of the textures are stored in a cache.
  11. The method according to one of the claims 8 to 10, wherein the one or more textures are associated with a game.
  12. The method according to one of the claims 8 to 11, wherein the game is a game to be executed in one or more cloud gaming instances.
  13. The method according to one of the claims 8 to 12, wherein the method comprises determining the selected format based on a texture format supported by a host of the cloud gaming instance.
  14. The method according to one of the claims 8 to 13, wherein the GPU is used for transcoding the one or more textures.
  15. A computer program having a program code for performing the method of one of the claims 8 to 14, when the computer program is executed on a computer, a processor, or a programmable hardware component.

Description

Background Mobile cloud gaming services become increasingly more popular. In cloud gaming, cloud servers are equipped with server discrete graphics cards to accelerate games, such as mobile games. Though the server GPU is powerful enough to drive the rendering of multiple mobile games, there are some feature gaps between what a server GPU can offer and what a mobile game would requests. The lack of support for some commonly used texture compression formats is such a feature gap. Brief description of the Figures Some examples of apparatuses and/or methods will be described in the following by way of example only, and with reference to the accompanying figures, in which Fig. 1ashows a block diagram of an example of a caching apparatus or caching device;Figs. 1b and 1cshow block diagrams of examples of a computer system comprising a caching apparatus or caching device;Figs. 1d and 1eshow flow charts of examples of a caching method;Fig. 2ashows a block diagram of an example of a driver apparatus or driver device;Fig. 2bshows a flow chart of an example of a driver method;Fig. 3ashows a block diagram of an example of a transcoding apparatus or transcoding device;Fig. 3bshows a flow chart of an example of a transcoding method;Fig. 4shows a flow chart of an example of an on-the-fly transcoding process;Fig. 5shows a schematic diagram of an impact of transcoding for multiple game instances;Fig. 6shows a schematic diagram of an example of a texture transcoding architecture; andFig. 7shows a flow chart of an example of a flow of a texture load unit. Detailed Description Some examples are now described in more detail with reference to the enclosed figures. However, other possible examples are not limited to the features of these embodiments described in detail. Other examples may include modifications of the features as well as equivalents and alternatives to the features. Furthermore, the terminology used herein to describe certain examples should not be restrictive of further possible examples. Throughout the description of the figures same or similar reference numerals refer to same or similar elements and/or features, which may be identical or implemented in a modified form while providing the same or a similar function. The thickness of lines, layers and/or areas in the figures may also be exaggerated for clarification. When two elements A and B are combined using an "or", this is to be understood as disclosing all possible combinations, i.e. only A, only B as well as A and B, unless expressly defined otherwise in the individual case. As an alternative wording for the same combinations, "at least one of A and B" or "A and/or B" may be used. This applies equivalently to combinations of more than two elements. If a singular form, such as "a", "an" and "the" is used and the use of only a single element is not defined as mandatory either explicitly or implicitly, further examples may also use several elements to implement the same function. If a function is described below as implemented using multiple elements, further examples may implement the same function using a single element or a single processing entity. It is further understood that the terms "include", "including", "comprise" and/or "comprising", when used, describe the presence of the specified features, integers, steps, operations, processes, elements, components and/or a group thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, processes, elements, components and/or a group thereof. In the following description, specific details are set forth, but examples of the technologies described herein may be practiced without these specific details. Well-known circuits, structures, and techniques have not been shown in detail to avoid obscuring an understanding of this description. "An example/example," "various examples/examples," "some examples/examples," and the like may include features, structures, or characteristics, but not every example necessarily includes the particular features, structures, or characteristics. Some examples may have some, all, or none of the features described for other examples. "First," "second," "third," and the like describe a common element and indicate different instances of like elements being referred to. Such adjectives do not imply element item so described must be in a given sequence, either temporally or spatially, in ranking, or any other manner. "Connected" may indicate elements are in direct physical or electrical contact with each other and "coupled" may indicate elements co-operate or interact with each other, but they may or may not be in direct physical or electrical contact. As used herein, the terms "operating", "executing", or "running" as they pertain to software or firmware in relation to a system, device, platform, or resource are used interchangeably and can refer to software or firmware stored in one or more computer-readable storage media accessible