Giter Club home page Giter Club logo

liquidvr's Introduction

LiquidVR™ SDK

LiquidVR™ provides a Direct3D 11 based interface for applications to access the following GPU features: Async Compute, Multi-GPU Affinity, Late-Latch, and GPU-to-GPU Resource Copies1,2.

  • Async Compute : Provides in Direct3D 11 a subset of functionality similar to async-compute functionality in Direct3D 12.
  • Multi-GPU Affinity : Provides explicit multi-GPU control via ability to send Direct3D 11 API calls to one or more GPUs via an affinity mask.
  • Late-Latch : Provides ability to reduce input or tracking latency by reading constant data updated by the CPU after the original Direct3D 11 calls.
  • GPU-to-GPU Resource Copies : Provides ability to copy resources between GPUs with explicit control over synchronization.

In Version 1.1 (driver 17.4.1 / 17.10.1061), we added support for:

  • Motion Estimation: Calculates the motion estimation generated from two surface frames. Motion estimation works on specific GPUs and can be used for ASW.
  • Vulkan Interoperability: Provides conversion for buffers, surfaces and semaphores.

Installation

The LiquidVR run-time is automatically installed by the current AMD drivers. All that is needed for usage in an application is the LiquidVR.h header file in the inc folder.

Prerequisites

  • AMD Radeon™ GCN-based GPU (recommend R9 290 series or higher for VR)3
  • Windows® 7, Windows® 8.1, or Windows® 10
  • Radeon Software Crimson Edition drivers or later
  • Building the SDK samples requires Visual Studio® 2013

Getting Started

  • A Visual Studio solution for the samples can be found in the samples directory.
  • Additional documentation can be found in the doc directory.

Attribution

  • AMD, the AMD Arrow logo, Radeon, LiquidVR, and combinations thereof are either registered trademarks or trademarks of Advanced Micro Devices, Inc. in the United States and/or other countries.
  • Microsoft, Direct3D, DirectX, Visual Studio, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Notes

1: The LiquidVR features are available even if a VR device is not installed on a system.

2: LiquidVR also contains a Direct-to-Display (D2D) interface, but it is not application accessible because it is instead directly used by the head-mounted display (HMD) vendors.

3: All Radeon GPUs based on the Graphics Core Next (GCN) architecture support the current LiquidVR feature set. However, the recommended performance requirements for the best VR experience will vary between different HMD/content platforms. For details on recommended hardware for a particular HMD vendor, see the FAQ here: http://www.amd.com/liquidvr

liquidvr's People

Contributors

jstewart-amd avatar tnarine-amd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

liquidvr's Issues

LiquidVR update for: Vulkan support,"H264 ME only mode",Multires,Multiview..

Hi,
seems LiquidVR has been gaining some big updates but as posted version is 1year old we can't access this improvements..
hope GDC being a month away a big update should be coming son..
1)first seems LiquidVR supports Vulkan for SteamVR as I get:
"LiquidVR v1.0.8.0+ required for Vulkan supported on AMD"
but header doesn't include Vulkan API in ALVR_RENDER_API so a ALVR_RENDER_API_VULKAN has been added..
2)also asking AMD AMF devs about H264 motion estimation only mode that currently are exposed on Nvidia Codec SDK and Intel Media SDK he shared: "ME mode was provided for Oculus by AMF via LiquidVR SDK for Async Space Warp (ASW). Stay tuned for LiquidVR SDK update on this"
Crimson Relive press materials said:
3)MultiRes rendering enables improved performance by reducing API overhead and reduced pixel-processing cost by matching the rendered image resolution to select VR HMD’s optical system.
4) MultiView intelligent rendering algorithms enable single-pass rendering that can further reduce pixel-processing cost.

so just asking some ETA on next release and if all this features will come with it..
thanks..

OpenGL?

Are we going to see anything for developing VR programs for AMD GPUs that utilize OpenGL? It seems like the only thing AMD has to optimize VR performance in OpenGL is WGL_AMD_gpu_association for allow ing developers to manually divide up rendering across multiple GPUs.

some printer's error in LiquidVR.pdf

So glad to use your LiquidVR as a SDK, nice GPU affinity. And I want to record printer's errors I found in
LiquidVR.pdf here, improve this doc for more reader.
1.QueueSemaphoreSignal
Queue a sempahore signal ...

Porting to Vulkan ?

You should port liquid VR over Vulkan for crossplatform support.
This is an economic necessity for AMD for the upcoming steam machines and Nintendo NX (which both will be on Linux)

Yes Vulkan is not released yet but you are the main Vulkan devs of the spec so you can maybe already do begin the porting without need of the final spec.
Sorry for my bad english.

VulcanRenderer.cpp bug

In VulcanRenderer.cpp MakeBuffer:

    uint32_t memType = -1;
    for (uint32_t i = 0; i < memProps.memoryTypeCount; i++)
    {
        if (memProps.memoryTypes[i].propertyFlags & (VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT))
        {
            if ((memProps.memoryTypes[i].propertyFlags & memReqs.memoryTypeBits))
            {
	        memType = i;
	        break;
            }
        }
    }

should be:

    uint32_t memType = -1;
    for (uint32_t i = 0; i < memProps.memoryTypeCount; i++)
    {
        if (memReqs.memoryTypeBits & (1 << i))
        {
            if ((memProps.memoryTypes[i].propertyFlags & props) == props)
            {
	        memType = i;
	        break;
            }
        }
    }

Support for 4.21?

Hi there! I am very interested in the integration of LiquidVR inside my project, however the existing versions of Unreal Engine - 4.17 and prior are failing to compile.

Is there any plans about 4.21 support? Thanks.

Typo

In the README.md you say that liquid VR use direct 3D 11 but you mention Async Compute which is a direct 3D 12 feature.

Thanks for opensourcing :) you are altruists, I love you.

DXUT

Unless there are specific requirements to stick with the old version of DXUT that is included in this project, I would highly recommend bundling up the latest version of DXUT that is available from Github.

As the one that is included here is dated from before Apr 11, 2014.

The reason I mention this is because there are some nasty bugs in that old version of DXUT.

Take a look here at a few commits to get an idea:

https://github.com/manuelh/LiquidVR/commits/develop

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.