Abstract:
Described is a system that processes texture assets for an application to be distributed across a range of devices while still leveraging device-specific hardware capabilities. In one embodiment, the system processes various criteria and determines specialized texture asset variants for a set of devices. These criteria may include various selected options including an interpretation selection for interpreting a source image for a texture, and device trait options such as device type, memory, and software support. In addition, the system may create mipmaps based on attributes of a set of target devices. Accordingly, a set of specialized texture assets may be created and distributed across a suite of devices.
Abstract:
Described is a system that processes texture assets for an application to be distributed across a range of devices while still leveraging device-specific hardware capabilities. In one embodiment, the system processes various criteria and determines specialized texture asset variants for a set of devices. These criteria may include various selected options including an interpretation selection for interpreting a source image for a texture, and device trait options such as device type, memory, and software support. In addition, the system may create mipmaps based on attributes of a set of target devices. Accordingly, a set of specialized texture assets may be created and distributed across a suite of devices.
Abstract:
Embodiments are directed toward systems and methods for scheduling resources of a graphics processing unit that determine, for a number of applications having commands to be issued to the GPU, a static priority level and a dynamic priority level of each application, work iteratively across static priority levels until a resource budget of the GPU is consumed, and starting with a highest static priority identify the applications in a present static priority level, assign a processing budget of the GPU to each of the applications in the present static priority level according to their dynamic priority levels, and admit to a queue commands from the applications in the present static priority level according to their processing budgets, and release the queue to the GPU.
Abstract:
Described is a system that processes texture assets for an application to be distributed across a range of devices while still leveraging device-specific hardware capabilities. In one embodiment, the system processes various criteria and determines specialized texture asset variants for a set of devices. These criteria may include various selected options including an interpretation selection for interpreting a source image for a texture, and device trait options such as device type, memory, and software support. In addition, the system may create mipmaps based on attributes of a set of target devices. Accordingly, a set of specialized texture assets may be created and distributed across a suite of devices.
Abstract:
Embodiments are directed toward systems and methods for scheduling resources of a graphics processing unit that determine, for a number of applications having commands to be issued to the GPU, a static priority level and a dynamic priority level of each application, work iteratively across static priority levels until a resource budget of the GPU is consumed, and starting with a highest static priority identify the applications in a present static priority level, assign a processing budget of the GPU to each of the applications in the present static priority level according to their dynamic priority levels, and admit to a queue commands from the applications in the present static priority level according to their processing budgets, and release the queue to the GPU.
Abstract:
An innovative GPU framework and related APIs present more accurate representations of the target hardware so that the distinctions between the fixed-function and programmable features of the GPU are perceived by a developer. This permits a program and/or a graphics object generated or manipulated by the program to be understood as not just code, but machine states that are associated with the code. When such an object is defined, the definitional components requiring programmable GPU features can be compiled only once and reused repeatedly as needed. Similarly, when a state change is made, the state changes correspond to the state changes made on the hardware. Additionally, the creation of these immutable objects prevents a developer from inadvertently changing portions of the program or object that cause it to behave differently than intended.