diff options
26 files changed, 5300 insertions, 5300 deletions
diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10app.h b/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10app.h index c27e66ed54..59fe338f56 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10app.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10app.h @@ -1,51 +1,51 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#ifndef D3D10APP_H
 -#define D3D10APP_H
 -
 -#define WIN32_LEAN_AND_MEAN
 -#include <windows.h>
 -#include <objbase.h>
 -#include <d3d10_1.h>
 -#include <assert.h>
 -#include <stdio.h>
 -#include <float.h>
 -
 -#define ensure(x) do {HRESULT __hr = (x); if(!SUCCEEDED(__hr)) {fprintf(stderr, "COM error %08x\n", __hr); abort();}} while(0)
 -
 -struct d3d10_application
 -{
 -	virtual ~d3d10_application() {}
 -
 -	virtual void draw(ID3D10Device* ctx, ID3D10RenderTargetView* rtv, unsigned width, unsigned height, double time) = 0;
 -	virtual bool init(ID3D10Device* dev, int argc, char** argv) = 0;
 -};
 -
 -/* this is the entry point you must provide */
 -extern "C" d3d10_application* d3d10_application_create();
 -
 -#endif
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#ifndef D3D10APP_H +#define D3D10APP_H + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#include <objbase.h> +#include <d3d10_1.h> +#include <assert.h> +#include <stdio.h> +#include <float.h> + +#define ensure(x) do {HRESULT __hr = (x); if(!SUCCEEDED(__hr)) {fprintf(stderr, "COM error %08x\n", __hr); abort();}} while(0) + +struct d3d10_application +{ +	virtual ~d3d10_application() {} + +	virtual void draw(ID3D10Device* ctx, ID3D10RenderTargetView* rtv, unsigned width, unsigned height, double time) = 0; +	virtual bool init(ID3D10Device* dev, int argc, char** argv) = 0; +}; + +/* this is the entry point you must provide */ +extern "C" d3d10_application* d3d10_application_create(); + +#endif diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10winmain.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10winmain.cpp index ac4798a108..94680977eb 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10winmain.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10winmain.cpp @@ -1,188 +1,188 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#define INITGUID
 -#include "d3d10app.h"
 -#include "stdio.h"
 -
 -static d3d10_application* app;
 -static IDXGISwapChain* swap_chain;
 -static unsigned width, height;
 -static DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM;
 -static ID3D10Device* dev;
 -static ID3D10Device* ctx;
 -static int frames = 0;
 -static int buffer_count = 1;
 -
 -LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 -{
 -	switch (message)
 -	{
 -	case WM_SIZE:
 -		width = lParam & 0xffff;
 -		height = lParam >> 16;
 -		
 -		swap_chain->ResizeBuffers(buffer_count, width, height, format, 0);
 -		frames = 0;
 -		break;
 -	case WM_DESTROY:
 -		PostQuitMessage(0);
 -		break;
 -	default:
 -		return DefWindowProc(hwnd, message, wParam, lParam);
 -	}
 -	return 0;
 -}
 -
 -int main(int argc, char** argv)
 -{
 -	HINSTANCE hInstance = GetModuleHandle(NULL);
 -	WNDCLASSEXA wcex;
 -
 -	wcex.cbSize = sizeof(WNDCLASSEX);
 -
 -	wcex.style		= CS_HREDRAW | CS_VREDRAW;
 -	wcex.lpfnWndProc	= WndProc;
 -	wcex.cbClsExtra		= 0;
 -	wcex.cbWndExtra		= 0;
 -	wcex.hInstance		= hInstance;
 -	wcex.hIcon		= 0;
 -	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
 -	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
 -	wcex.lpszMenuName	= 0;
 -	wcex.lpszClassName	= "d3d10";
 -	wcex.hIconSm		= 0;
 -
 -	RegisterClassExA(&wcex);
 -
 -	HWND hwnd = CreateWindowA("d3d10", "d3d10", WS_OVERLAPPEDWINDOW,
 -		CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
 -
 -	if(!hwnd)
 -		return FALSE;
 -
 -	RECT rc;
 -	GetClientRect(hwnd, &rc );
 -	width = rc.right - rc.left;
 -	height = rc.bottom - rc.top;
 -
 -	DXGI_SWAP_CHAIN_DESC swap_chain_desc;
 -	memset(&swap_chain_desc, 0, sizeof(swap_chain_desc));
 -	swap_chain_desc.BufferDesc.Width = width;
 -	swap_chain_desc.BufferDesc.Height = height;
 -	swap_chain_desc.BufferDesc.Format = format;
 -	swap_chain_desc.SampleDesc.Count = 1;
 -	swap_chain_desc.SampleDesc.Quality = 0;
 -	swap_chain_desc.OutputWindow = hwnd;
 -	swap_chain_desc.Windowed = TRUE;
 -	swap_chain_desc.BufferCount = buffer_count;
 -	swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
 -	swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
 -	swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
 -
 -	D3D10_FEATURE_LEVEL1 feature_level = D3D10_FEATURE_LEVEL_10_0;
 -
 -	HRESULT hr;
 -	if(1)
 -	{
 -		hr = D3D10CreateDeviceAndSwapChain(
 -			NULL,
 -			D3D10_DRIVER_TYPE_HARDWARE,
 -			NULL,
 -			D3D10_CREATE_DEVICE_SINGLETHREADED, // | D3D10_CREATE_DEVICE_DEBUG,
 -			D3D10_SDK_VERSION,
 -			&swap_chain_desc,
 -			&swap_chain,
 -			&dev);
 -	}
 -	else
 -	{
 -		hr = D3D10CreateDeviceAndSwapChain1(
 -			NULL,
 -			D3D10_DRIVER_TYPE_HARDWARE,
 -			NULL,
 -			D3D10_CREATE_DEVICE_SINGLETHREADED, // | D3D10_CREATE_DEVICE_DEBUG,
 -			feature_level,
 -			D3D10_SDK_VERSION,
 -			&swap_chain_desc,
 -			&swap_chain,
 -			(ID3D10Device1**)&dev);
 -	}
 -
 -	if(!SUCCEEDED(hr))
 -	{
 -		fprintf(stderr, "Failed to create D3D10 device (hresult %08x)\n", hr);
 -		return 1;
 -	}
 -
 -	ctx = dev;
 -
 -	app = d3d10_application_create();
 -	if(!app->init(dev, argc, argv))
 -		return 1;
 -
 -	ShowWindow(hwnd, SW_SHOWDEFAULT);
 -	UpdateWindow(hwnd);
 -
 -	LARGE_INTEGER freq;
 -	QueryPerformanceFrequency(&freq);
 -	double period = 1.0 / (double)freq.QuadPart;
 -	LARGE_INTEGER ctime_li;
 -	QueryPerformanceCounter(&ctime_li);
 -	double start_time = ctime_li.QuadPart * period;
 -
 -	MSG msg;
 -	for(;;)
 -	{
 -		if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
 -		{
 -			if(msg.message == WM_QUIT)
 -				break;
 -			TranslateMessage(&msg);
 -			DispatchMessage(&msg);
 -		}
 -		else if(width && height)
 -		{
 -			ID3D10Texture2D* tex;
 -			static ID3D10RenderTargetView* rtv;
 -			ensure(swap_chain->GetBuffer(0, __uuidof(tex), (void**)&tex));
 -			ensure(dev->CreateRenderTargetView(tex, NULL, &rtv));
 -
 -			QueryPerformanceCounter(&ctime_li);
 -			double ctime = (double)ctime_li.QuadPart * period - start_time;
 -
 -			app->draw(ctx, rtv, width, height, ctime);
 -			ctx->OMSetRenderTargets(0, 0, 0);
 -
 -			swap_chain->Present(0, 0);
 -			rtv->Release();
 -			tex->Release();
 -		}
 -		else
 -			WaitMessage();
 -	}
 -	return (int) msg.wParam;
 -}
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#define INITGUID +#include "d3d10app.h" +#include "stdio.h" + +static d3d10_application* app; +static IDXGISwapChain* swap_chain; +static unsigned width, height; +static DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM; +static ID3D10Device* dev; +static ID3D10Device* ctx; +static int frames = 0; +static int buffer_count = 1; + +LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ +	switch (message) +	{ +	case WM_SIZE: +		width = lParam & 0xffff; +		height = lParam >> 16; +		 +		swap_chain->ResizeBuffers(buffer_count, width, height, format, 0); +		frames = 0; +		break; +	case WM_DESTROY: +		PostQuitMessage(0); +		break; +	default: +		return DefWindowProc(hwnd, message, wParam, lParam); +	} +	return 0; +} + +int main(int argc, char** argv) +{ +	HINSTANCE hInstance = GetModuleHandle(NULL); +	WNDCLASSEXA wcex; + +	wcex.cbSize = sizeof(WNDCLASSEX); + +	wcex.style		= CS_HREDRAW | CS_VREDRAW; +	wcex.lpfnWndProc	= WndProc; +	wcex.cbClsExtra		= 0; +	wcex.cbWndExtra		= 0; +	wcex.hInstance		= hInstance; +	wcex.hIcon		= 0; +	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW); +	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1); +	wcex.lpszMenuName	= 0; +	wcex.lpszClassName	= "d3d10"; +	wcex.hIconSm		= 0; + +	RegisterClassExA(&wcex); + +	HWND hwnd = CreateWindowA("d3d10", "d3d10", WS_OVERLAPPEDWINDOW, +		CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); + +	if(!hwnd) +		return FALSE; + +	RECT rc; +	GetClientRect(hwnd, &rc ); +	width = rc.right - rc.left; +	height = rc.bottom - rc.top; + +	DXGI_SWAP_CHAIN_DESC swap_chain_desc; +	memset(&swap_chain_desc, 0, sizeof(swap_chain_desc)); +	swap_chain_desc.BufferDesc.Width = width; +	swap_chain_desc.BufferDesc.Height = height; +	swap_chain_desc.BufferDesc.Format = format; +	swap_chain_desc.SampleDesc.Count = 1; +	swap_chain_desc.SampleDesc.Quality = 0; +	swap_chain_desc.OutputWindow = hwnd; +	swap_chain_desc.Windowed = TRUE; +	swap_chain_desc.BufferCount = buffer_count; +	swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH; +	swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; +	swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; + +	D3D10_FEATURE_LEVEL1 feature_level = D3D10_FEATURE_LEVEL_10_0; + +	HRESULT hr; +	if(1) +	{ +		hr = D3D10CreateDeviceAndSwapChain( +			NULL, +			D3D10_DRIVER_TYPE_HARDWARE, +			NULL, +			D3D10_CREATE_DEVICE_SINGLETHREADED, // | D3D10_CREATE_DEVICE_DEBUG, +			D3D10_SDK_VERSION, +			&swap_chain_desc, +			&swap_chain, +			&dev); +	} +	else +	{ +		hr = D3D10CreateDeviceAndSwapChain1( +			NULL, +			D3D10_DRIVER_TYPE_HARDWARE, +			NULL, +			D3D10_CREATE_DEVICE_SINGLETHREADED, // | D3D10_CREATE_DEVICE_DEBUG, +			feature_level, +			D3D10_SDK_VERSION, +			&swap_chain_desc, +			&swap_chain, +			(ID3D10Device1**)&dev); +	} + +	if(!SUCCEEDED(hr)) +	{ +		fprintf(stderr, "Failed to create D3D10 device (hresult %08x)\n", hr); +		return 1; +	} + +	ctx = dev; + +	app = d3d10_application_create(); +	if(!app->init(dev, argc, argv)) +		return 1; + +	ShowWindow(hwnd, SW_SHOWDEFAULT); +	UpdateWindow(hwnd); + +	LARGE_INTEGER freq; +	QueryPerformanceFrequency(&freq); +	double period = 1.0 / (double)freq.QuadPart; +	LARGE_INTEGER ctime_li; +	QueryPerformanceCounter(&ctime_li); +	double start_time = ctime_li.QuadPart * period; + +	MSG msg; +	for(;;) +	{ +		if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) +		{ +			if(msg.message == WM_QUIT) +				break; +			TranslateMessage(&msg); +			DispatchMessage(&msg); +		} +		else if(width && height) +		{ +			ID3D10Texture2D* tex; +			static ID3D10RenderTargetView* rtv; +			ensure(swap_chain->GetBuffer(0, __uuidof(tex), (void**)&tex)); +			ensure(dev->CreateRenderTargetView(tex, NULL, &rtv)); + +			QueryPerformanceCounter(&ctime_li); +			double ctime = (double)ctime_li.QuadPart * period - start_time; + +			app->draw(ctx, rtv, width, height, ctime); +			ctx->OMSetRenderTargets(0, 0, 0); + +			swap_chain->Present(0, 0); +			rtv->Release(); +			tex->Release(); +		} +		else +			WaitMessage(); +	} +	return (int) msg.wParam; +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10x11main.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10x11main.cpp index efbe322fe6..8f07380056 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10x11main.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d10app/d3d10x11main.cpp @@ -1,154 +1,154 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#include "d3d10app.h"
 -#include <X11/Xlib.h>
 -#include <galliumdxgi.h>
 -#include <sys/time.h>
 -
 -static d3d10_application* app;
 -static IDXGISwapChain* swap_chain;
 -unsigned width, height;
 -DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM;
 -static ID3D10Device* dev;
 -static ID3D10Device* ctx;
 -
 -double get_time()
 -{
 -	struct timeval tv;
 -	gettimeofday(&tv, 0);
 -	return (double)tv.tv_sec + (double)tv.tv_usec * 0.000001;
 -}
 -
 -int main(int argc, char** argv)
 -{
 -	Display* dpy = XOpenDisplay(0);
 -	Visual* visual = DefaultVisual(dpy, DefaultScreen(dpy));
 -	Colormap cmap = XCreateColormap(dpy, RootWindow(dpy, DefaultScreen(dpy)), visual, AllocNone);
 -	XSetWindowAttributes swa;
 -	swa.colormap = cmap;
 -	swa.border_pixel = 0;
 -	swa.event_mask = StructureNotifyMask;
 -	width = 512;
 -	height = 512;
 -	Window win = XCreateWindow(dpy, RootWindow(dpy, DefaultScreen(dpy)), 0, 0, width, height, 0, CopyFromParent, InputOutput, visual, CWBorderPixel | CWColormap| CWEventMask, &swa);
 -	XMapWindow(dpy, win);
 -
 -	GalliumDXGIUseX11Display(dpy, 0);
 -
 -	DXGI_SWAP_CHAIN_DESC swap_chain_desc;
 -	memset(&swap_chain_desc, 0, sizeof(swap_chain_desc));
 -	swap_chain_desc.BufferDesc.Width = width;
 -	swap_chain_desc.BufferDesc.Height = height;
 -	swap_chain_desc.BufferDesc.Format = format;
 -	swap_chain_desc.SampleDesc.Count = 1;
 -	swap_chain_desc.SampleDesc.Quality = 0;
 -	swap_chain_desc.OutputWindow = (HWND)win;
 -	swap_chain_desc.Windowed = TRUE;
 -	swap_chain_desc.BufferCount = 3;
 -	swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
 -	swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
 -
 -	D3D10_FEATURE_LEVEL1 feature_level = D3D10_FEATURE_LEVEL_10_0;
 -
 -	HRESULT hr;
 -	if(0)
 -	{
 -		hr = D3D10CreateDeviceAndSwapChain(
 -			NULL,
 -			D3D10_DRIVER_TYPE_HARDWARE,
 -			NULL,
 -			D3D10_CREATE_DEVICE_SINGLETHREADED,
 -			D3D10_SDK_VERSION,
 -			&swap_chain_desc,
 -			&swap_chain,
 -			&dev);
 -	}
 -	else
 -	{
 -		hr = D3D10CreateDeviceAndSwapChain1(
 -			NULL,
 -			D3D10_DRIVER_TYPE_HARDWARE,
 -			NULL,
 -			D3D10_CREATE_DEVICE_SINGLETHREADED,
 -			feature_level,
 -			D3D10_SDK_VERSION,
 -			&swap_chain_desc,
 -			&swap_chain,
 -			(ID3D10Device1**)&dev);
 -	}
 -	if(!SUCCEEDED(hr))
 -	{
 -		fprintf(stderr, "Failed to create D3D10 device (hresult %08x)\n", hr);
 -		return 1;
 -	}
 -	ctx = dev;
 -
 -	app = d3d10_application_create();
 -	if(!app->init(dev, argc, argv))
 -		return 1;
 -
 -	double start_time = get_time();
 -
 -	MSG msg;
 -	for(;;)
 -	{
 -		XEvent event;
 -		if(XPending(dpy))
 -		{
 -			XNextEvent(dpy, &event);
 -			if(event.type == DestroyNotify)
 -				break;
 -			switch(event.type)
 -			{
 -			case ConfigureNotify:
 -				width = event.xconfigure.width;
 -				height = event.xconfigure.height;
 -				swap_chain->ResizeBuffers(3, width, height, format, 0);
 -				break;
 -			}
 -		}
 -		else if(width && height)
 -		{
 -			ID3D10Texture2D* tex;
 -			ID3D10RenderTargetView* rtv;
 -			ensure(swap_chain->GetBuffer(0, IID_ID3D10Texture2D, (void**)&tex));
 -			ensure(dev->CreateRenderTargetView(tex, NULL, &rtv));
 -
 -			double ctime = get_time() - start_time;
 -
 -			app->draw(ctx, rtv, width, height, ctime);
 -			ctx->OMSetRenderTargets(0, 0, 0);
 -
 -			tex->Release();
 -			rtv->Release();
 -			swap_chain->Present(0, 0);
 -		}
 -		else
 -			XPeekEvent(dpy, &event);
 -	}
 -	return (int) msg.wParam;
 -}
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#include "d3d10app.h" +#include <X11/Xlib.h> +#include <galliumdxgi.h> +#include <sys/time.h> + +static d3d10_application* app; +static IDXGISwapChain* swap_chain; +unsigned width, height; +DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM; +static ID3D10Device* dev; +static ID3D10Device* ctx; + +double get_time() +{ +	struct timeval tv; +	gettimeofday(&tv, 0); +	return (double)tv.tv_sec + (double)tv.tv_usec * 0.000001; +} + +int main(int argc, char** argv) +{ +	Display* dpy = XOpenDisplay(0); +	Visual* visual = DefaultVisual(dpy, DefaultScreen(dpy)); +	Colormap cmap = XCreateColormap(dpy, RootWindow(dpy, DefaultScreen(dpy)), visual, AllocNone); +	XSetWindowAttributes swa; +	swa.colormap = cmap; +	swa.border_pixel = 0; +	swa.event_mask = StructureNotifyMask; +	width = 512; +	height = 512; +	Window win = XCreateWindow(dpy, RootWindow(dpy, DefaultScreen(dpy)), 0, 0, width, height, 0, CopyFromParent, InputOutput, visual, CWBorderPixel | CWColormap| CWEventMask, &swa); +	XMapWindow(dpy, win); + +	GalliumDXGIUseX11Display(dpy, 0); + +	DXGI_SWAP_CHAIN_DESC swap_chain_desc; +	memset(&swap_chain_desc, 0, sizeof(swap_chain_desc)); +	swap_chain_desc.BufferDesc.Width = width; +	swap_chain_desc.BufferDesc.Height = height; +	swap_chain_desc.BufferDesc.Format = format; +	swap_chain_desc.SampleDesc.Count = 1; +	swap_chain_desc.SampleDesc.Quality = 0; +	swap_chain_desc.OutputWindow = (HWND)win; +	swap_chain_desc.Windowed = TRUE; +	swap_chain_desc.BufferCount = 3; +	swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH; +	swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + +	D3D10_FEATURE_LEVEL1 feature_level = D3D10_FEATURE_LEVEL_10_0; + +	HRESULT hr; +	if(0) +	{ +		hr = D3D10CreateDeviceAndSwapChain( +			NULL, +			D3D10_DRIVER_TYPE_HARDWARE, +			NULL, +			D3D10_CREATE_DEVICE_SINGLETHREADED, +			D3D10_SDK_VERSION, +			&swap_chain_desc, +			&swap_chain, +			&dev); +	} +	else +	{ +		hr = D3D10CreateDeviceAndSwapChain1( +			NULL, +			D3D10_DRIVER_TYPE_HARDWARE, +			NULL, +			D3D10_CREATE_DEVICE_SINGLETHREADED, +			feature_level, +			D3D10_SDK_VERSION, +			&swap_chain_desc, +			&swap_chain, +			(ID3D10Device1**)&dev); +	} +	if(!SUCCEEDED(hr)) +	{ +		fprintf(stderr, "Failed to create D3D10 device (hresult %08x)\n", hr); +		return 1; +	} +	ctx = dev; + +	app = d3d10_application_create(); +	if(!app->init(dev, argc, argv)) +		return 1; + +	double start_time = get_time(); + +	MSG msg; +	for(;;) +	{ +		XEvent event; +		if(XPending(dpy)) +		{ +			XNextEvent(dpy, &event); +			if(event.type == DestroyNotify) +				break; +			switch(event.type) +			{ +			case ConfigureNotify: +				width = event.xconfigure.width; +				height = event.xconfigure.height; +				swap_chain->ResizeBuffers(3, width, height, format, 0); +				break; +			} +		} +		else if(width && height) +		{ +			ID3D10Texture2D* tex; +			ID3D10RenderTargetView* rtv; +			ensure(swap_chain->GetBuffer(0, IID_ID3D10Texture2D, (void**)&tex)); +			ensure(dev->CreateRenderTargetView(tex, NULL, &rtv)); + +			double ctime = get_time() - start_time; + +			app->draw(ctx, rtv, width, height, ctime); +			ctx->OMSetRenderTargets(0, 0, 0); + +			tex->Release(); +			rtv->Release(); +			swap_chain->Present(0, 0); +		} +		else +			XPeekEvent(dpy, &event); +	} +	return (int) msg.wParam; +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.cpp index 06ad811dec..90b97f8a5d 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.cpp @@ -1,118 +1,118 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#include "d3d10app.h"
 -#include "d3d10tri.hlsl.ps.h"
 -#include "d3d10tri.hlsl.vs.h"
 -
 -struct vertex {
 - float position[4];
 - float color[4];
 -};
 -
 -static struct vertex vertices[3] =
 -{
 - {
 -	 { 0.0f, 0.9f, 0.5f, 1.0f },
 -	 { 1.0f, 0.0f, 0.0f, 1.0f }
 - },
 - {
 -	 { 0.9f, -0.9f, 0.5f, 1.0f },
 -	 { 0.0f, 0.0f, 1.0f, 1.0f }
 - },
 - {
 -	 { -0.9f, -0.9f, 0.5f, 1.0f },
 -	 { 0.0f, 1.0f, 0.0f, 1.0f }
 - },
 -};
 -
 -struct d3d10tri : public d3d10_application
 -{
 -	ID3D10PixelShader* ps;
 -	ID3D10VertexShader* vs;
 -	ID3D10InputLayout* layout;
 -	ID3D10Buffer* vb;
 -
 -	virtual bool init(ID3D10Device* dev, int argc, char** argv)
 -	{
 -		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), &ps));
 -		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), &vs));
 -
 -		D3D10_INPUT_ELEMENT_DESC elements[] =
 -		{
 -			{"POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0},
 -			{"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 16, D3D10_INPUT_PER_VERTEX_DATA, 0},
 -		};
 -
 -		ensure(dev->CreateInputLayout(elements, sizeof(elements) / sizeof(elements[0]), g_vs, sizeof(g_vs), &layout));
 -		D3D10_BUFFER_DESC bufferd;
 -		bufferd.ByteWidth = sizeof(vertices);
 -		bufferd.Usage = D3D10_USAGE_IMMUTABLE;
 -		bufferd.BindFlags = D3D10_BIND_VERTEX_BUFFER;
 -		bufferd.CPUAccessFlags = 0;
 -		bufferd.MiscFlags = 0;
 -
 -		D3D10_SUBRESOURCE_DATA buffersd;
 -		buffersd.pSysMem = vertices;
 -		buffersd.SysMemPitch = sizeof(vertices);
 -		buffersd.SysMemSlicePitch = sizeof(vertices);
 -
 -		ensure(dev->CreateBuffer(&bufferd, &buffersd, &vb));
 -
 -		return true;
 -	}
 -
 -	virtual void draw(ID3D10Device* ctx, ID3D10RenderTargetView* rtv, unsigned width, unsigned height, double time)
 -	{
 -		float clear_color[4] = {1, 0, 1, 1};
 -		D3D10_VIEWPORT vp;
 -		memset(&vp, 0, sizeof(vp));
 -		vp.Width = (unsigned)width;
 -		vp.Height = (unsigned)height;
 -		vp.MaxDepth = 1.0f;
 -
 -		ctx->OMSetRenderTargets(1, &rtv, 0);
 -		ctx->RSSetViewports(1, &vp);
 -
 -		ctx->ClearRenderTargetView(rtv, clear_color);
 -
 -		ctx->IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
 -		ctx->IASetInputLayout(layout);
 -		unsigned stride = 2 * 4 * 4;
 -		unsigned offset = 0;
 -		ctx->IASetVertexBuffers(0, 1, &vb, &stride, &offset);
 -
 -		ctx->VSSetShader(vs);
 -		ctx->PSSetShader(ps);	
 -
 -		ctx->Draw(3, 0);
 -	}
 -};
 -
 -d3d10_application* d3d10_application_create()
 -{
 -	return new d3d10tri();
 -}
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#include "d3d10app.h" +#include "d3d10tri.hlsl.ps.h" +#include "d3d10tri.hlsl.vs.h" + +struct vertex { + float position[4]; + float color[4]; +}; + +static struct vertex vertices[3] = +{ + { +	 { 0.0f, 0.9f, 0.5f, 1.0f }, +	 { 1.0f, 0.0f, 0.0f, 1.0f } + }, + { +	 { 0.9f, -0.9f, 0.5f, 1.0f }, +	 { 0.0f, 0.0f, 1.0f, 1.0f } + }, + { +	 { -0.9f, -0.9f, 0.5f, 1.0f }, +	 { 0.0f, 1.0f, 0.0f, 1.0f } + }, +}; + +struct d3d10tri : public d3d10_application +{ +	ID3D10PixelShader* ps; +	ID3D10VertexShader* vs; +	ID3D10InputLayout* layout; +	ID3D10Buffer* vb; + +	virtual bool init(ID3D10Device* dev, int argc, char** argv) +	{ +		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), &ps)); +		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), &vs)); + +		D3D10_INPUT_ELEMENT_DESC elements[] = +		{ +			{"POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0}, +			{"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 16, D3D10_INPUT_PER_VERTEX_DATA, 0}, +		}; + +		ensure(dev->CreateInputLayout(elements, sizeof(elements) / sizeof(elements[0]), g_vs, sizeof(g_vs), &layout)); +		D3D10_BUFFER_DESC bufferd; +		bufferd.ByteWidth = sizeof(vertices); +		bufferd.Usage = D3D10_USAGE_IMMUTABLE; +		bufferd.BindFlags = D3D10_BIND_VERTEX_BUFFER; +		bufferd.CPUAccessFlags = 0; +		bufferd.MiscFlags = 0; + +		D3D10_SUBRESOURCE_DATA buffersd; +		buffersd.pSysMem = vertices; +		buffersd.SysMemPitch = sizeof(vertices); +		buffersd.SysMemSlicePitch = sizeof(vertices); + +		ensure(dev->CreateBuffer(&bufferd, &buffersd, &vb)); + +		return true; +	} + +	virtual void draw(ID3D10Device* ctx, ID3D10RenderTargetView* rtv, unsigned width, unsigned height, double time) +	{ +		float clear_color[4] = {1, 0, 1, 1}; +		D3D10_VIEWPORT vp; +		memset(&vp, 0, sizeof(vp)); +		vp.Width = (unsigned)width; +		vp.Height = (unsigned)height; +		vp.MaxDepth = 1.0f; + +		ctx->OMSetRenderTargets(1, &rtv, 0); +		ctx->RSSetViewports(1, &vp); + +		ctx->ClearRenderTargetView(rtv, clear_color); + +		ctx->IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST); +		ctx->IASetInputLayout(layout); +		unsigned stride = 2 * 4 * 4; +		unsigned offset = 0; +		ctx->IASetVertexBuffers(0, 1, &vb, &stride, &offset); + +		ctx->VSSetShader(vs); +		ctx->PSSetShader(ps);	 + +		ctx->Draw(3, 0); +	} +}; + +d3d10_application* d3d10_application_create() +{ +	return new d3d10tri(); +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.hlsl.ps.h b/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.hlsl.ps.h index 3502d9f729..bc55cf8a47 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.hlsl.ps.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.hlsl.ps.h @@ -1,112 +1,112 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d10tri.hlsl.ps.h /Eps /Tps_4_0 d3d10tri.hlsl
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float       
 -// COLOR                    0   xyzw        1     NONE  float   xyzw
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_TARGET                0   xyzw        0   TARGET  float   xyzw
 -//
 -ps_4_0
 -dcl_input_ps linear v1.xyzw
 -dcl_output o0.xyzw
 -mov o0.xyzw, v1.xyzw
 -ret 
 -// Approximately 2 instruction slots used
 -#endif
 -
 -const BYTE g_ps[] =
 -{
 -     68,  88,  66,  67, 206, 120, 
 -    117, 238, 118, 127,  10,  87, 
 -     80,  75, 114, 198,  95,   2, 
 -    120, 102,   1,   0,   0,   0, 
 -    208,   1,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    140,   0,   0,   0, 224,   0, 
 -      0,   0,  20,   1,   0,   0, 
 -     84,   1,   0,   0,  82,  68, 
 -     69,  70,  80,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    255, 255,   0,   1,   0,   0, 
 -     28,   0,   0,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -    171, 171,  73,  83,  71,  78, 
 -     76,   0,   0,   0,   2,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     68,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,  15,  15,   0,   0, 
 -     83,  86,  95,  80,  79,  83, 
 -     73,  84,  73,  79,  78,   0, 
 -     67,  79,  76,  79,  82,   0, 
 -    171, 171,  79,  83,  71,  78, 
 -     44,   0,   0,   0,   1,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     32,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     83,  86,  95,  84,  65,  82, 
 -     71,  69,  84,   0, 171, 171, 
 -     83,  72,  68,  82,  56,   0, 
 -      0,   0,  64,   0,   0,   0, 
 -     14,   0,   0,   0,  98,  16, 
 -      0,   3, 242,  16,  16,   0, 
 -      1,   0,   0,   0, 101,   0, 
 -      0,   3, 242,  32,  16,   0, 
 -      0,   0,   0,   0,  54,   0, 
 -      0,   5, 242,  32,  16,   0, 
 -      0,   0,   0,   0,  70,  30, 
 -     16,   0,   1,   0,   0,   0, 
 -     62,   0,   0,   1,  83,  84, 
 -     65,  84, 116,   0,   0,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d10tri.hlsl.ps.h /Eps /Tps_4_0 d3d10tri.hlsl +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float        +// COLOR                    0   xyzw        1     NONE  float   xyzw +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_TARGET                0   xyzw        0   TARGET  float   xyzw +// +ps_4_0 +dcl_input_ps linear v1.xyzw +dcl_output o0.xyzw +mov o0.xyzw, v1.xyzw +ret  +// Approximately 2 instruction slots used +#endif + +const BYTE g_ps[] = +{ +     68,  88,  66,  67, 206, 120,  +    117, 238, 118, 127,  10,  87,  +     80,  75, 114, 198,  95,   2,  +    120, 102,   1,   0,   0,   0,  +    208,   1,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    140,   0,   0,   0, 224,   0,  +      0,   0,  20,   1,   0,   0,  +     84,   1,   0,   0,  82,  68,  +     69,  70,  80,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    255, 255,   0,   1,   0,   0,  +     28,   0,   0,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +    171, 171,  73,  83,  71,  78,  +     76,   0,   0,   0,   2,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +     68,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,  15,  15,   0,   0,  +     83,  86,  95,  80,  79,  83,  +     73,  84,  73,  79,  78,   0,  +     67,  79,  76,  79,  82,   0,  +    171, 171,  79,  83,  71,  78,  +     44,   0,   0,   0,   1,   0,  +      0,   0,   8,   0,   0,   0,  +     32,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +     83,  86,  95,  84,  65,  82,  +     71,  69,  84,   0, 171, 171,  +     83,  72,  68,  82,  56,   0,  +      0,   0,  64,   0,   0,   0,  +     14,   0,   0,   0,  98,  16,  +      0,   3, 242,  16,  16,   0,  +      1,   0,   0,   0, 101,   0,  +      0,   3, 242,  32,  16,   0,  +      0,   0,   0,   0,  54,   0,  +      0,   5, 242,  32,  16,   0,  +      0,   0,   0,   0,  70,  30,  +     16,   0,   1,   0,   0,   0,  +     62,   0,   0,   1,  83,  84,  +     65,  84, 116,   0,   0,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.hlsl.vs.h b/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.hlsl.vs.h index 5c941d8a9f..7204281ea8 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.hlsl.vs.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d10tri/d3d10tri.hlsl.vs.h @@ -1,128 +1,128 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d10tri.hlsl.vs.h /Evs /Tvs_4_0 d3d10tri.hlsl
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyzw        0     NONE  float   xyzw
 -// COLOR                    0   xyzw        1     NONE  float   xyzw
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float   xyzw
 -// COLOR                    0   xyzw        1     NONE  float   xyzw
 -//
 -vs_4_0
 -dcl_input v0.xyzw
 -dcl_input v1.xyzw
 -dcl_output_siv o0.xyzw, position
 -dcl_output o1.xyzw
 -mov o0.xyzw, v0.xyzw
 -mov o1.xyzw, v1.xyzw
 -ret 
 -// Approximately 3 instruction slots used
 -#endif
 -
 -const BYTE g_vs[] =
 -{
 -     68,  88,  66,  67, 190, 171, 
 -    186,  20,  44, 105,  95, 129, 
 -    137, 204, 223,  72, 251, 159, 
 -    126, 176,   1,   0,   0,   0, 
 -     28,   2,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    140,   0,   0,   0, 220,   0, 
 -      0,   0,  48,   1,   0,   0, 
 -    160,   1,   0,   0,  82,  68, 
 -     69,  70,  80,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    254, 255,   0,   1,   0,   0, 
 -     28,   0,   0,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -    171, 171,  73,  83,  71,  78, 
 -     72,   0,   0,   0,   2,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,  15,   0,   0, 
 -     65,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,  15,  15,   0,   0, 
 -     80,  79,  83,  73,  84,  73, 
 -     79,  78,   0,  67,  79,  76, 
 -     79,  82,   0, 171,  79,  83, 
 -     71,  78,  76,   0,   0,   0, 
 -      2,   0,   0,   0,   8,   0, 
 -      0,   0,  56,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,  15,   0, 
 -      0,   0,  68,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      1,   0,   0,   0,  15,   0, 
 -      0,   0,  83,  86,  95,  80, 
 -     79,  83,  73,  84,  73,  79, 
 -     78,   0,  67,  79,  76,  79, 
 -     82,   0, 171, 171,  83,  72, 
 -     68,  82, 104,   0,   0,   0, 
 -     64,   0,   1,   0,  26,   0, 
 -      0,   0,  95,   0,   0,   3, 
 -    242,  16,  16,   0,   0,   0, 
 -      0,   0,  95,   0,   0,   3, 
 -    242,  16,  16,   0,   1,   0, 
 -      0,   0, 103,   0,   0,   4, 
 -    242,  32,  16,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -    101,   0,   0,   3, 242,  32, 
 -     16,   0,   1,   0,   0,   0, 
 -     54,   0,   0,   5, 242,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  30,  16,   0,   0,   0, 
 -      0,   0,  54,   0,   0,   5, 
 -    242,  32,  16,   0,   1,   0, 
 -      0,   0,  70,  30,  16,   0, 
 -      1,   0,   0,   0,  62,   0, 
 -      0,   1,  83,  84,  65,  84, 
 -    116,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   4,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d10tri.hlsl.vs.h /Evs /Tvs_4_0 d3d10tri.hlsl +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyzw        0     NONE  float   xyzw +// COLOR                    0   xyzw        1     NONE  float   xyzw +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float   xyzw +// COLOR                    0   xyzw        1     NONE  float   xyzw +// +vs_4_0 +dcl_input v0.xyzw +dcl_input v1.xyzw +dcl_output_siv o0.xyzw, position +dcl_output o1.xyzw +mov o0.xyzw, v0.xyzw +mov o1.xyzw, v1.xyzw +ret  +// Approximately 3 instruction slots used +#endif + +const BYTE g_vs[] = +{ +     68,  88,  66,  67, 190, 171,  +    186,  20,  44, 105,  95, 129,  +    137, 204, 223,  72, 251, 159,  +    126, 176,   1,   0,   0,   0,  +     28,   2,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    140,   0,   0,   0, 220,   0,  +      0,   0,  48,   1,   0,   0,  +    160,   1,   0,   0,  82,  68,  +     69,  70,  80,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    254, 255,   0,   1,   0,   0,  +     28,   0,   0,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +    171, 171,  73,  83,  71,  78,  +     72,   0,   0,   0,   2,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,  15,   0,   0,  +     65,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,  15,  15,   0,   0,  +     80,  79,  83,  73,  84,  73,  +     79,  78,   0,  67,  79,  76,  +     79,  82,   0, 171,  79,  83,  +     71,  78,  76,   0,   0,   0,  +      2,   0,   0,   0,   8,   0,  +      0,   0,  56,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,  15,   0,  +      0,   0,  68,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      1,   0,   0,   0,  15,   0,  +      0,   0,  83,  86,  95,  80,  +     79,  83,  73,  84,  73,  79,  +     78,   0,  67,  79,  76,  79,  +     82,   0, 171, 171,  83,  72,  +     68,  82, 104,   0,   0,   0,  +     64,   0,   1,   0,  26,   0,  +      0,   0,  95,   0,   0,   3,  +    242,  16,  16,   0,   0,   0,  +      0,   0,  95,   0,   0,   3,  +    242,  16,  16,   0,   1,   0,  +      0,   0, 103,   0,   0,   4,  +    242,  32,  16,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +    101,   0,   0,   3, 242,  32,  +     16,   0,   1,   0,   0,   0,  +     54,   0,   0,   5, 242,  32,  +     16,   0,   0,   0,   0,   0,  +     70,  30,  16,   0,   0,   0,  +      0,   0,  54,   0,   0,   5,  +    242,  32,  16,   0,   1,   0,  +      0,   0,  70,  30,  16,   0,  +      1,   0,   0,   0,  62,   0,  +      0,   1,  83,  84,  65,  84,  +    116,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   4,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   2,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11app.h b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11app.h index 9eb69d6f5d..53de10ab3e 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11app.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11app.h @@ -1,51 +1,51 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#ifndef D3D11APP_H
 -#define D3D11APP_H
 -
 -#define WIN32_LEAN_AND_MEAN
 -#include <windows.h>
 -#include <objbase.h>
 -#include <d3d11.h>
 -#include <assert.h>
 -#include <stdio.h>
 -#include <float.h>
 -
 -#define ensure(x) do {HRESULT __hr = (x); if(!SUCCEEDED(__hr)) {fprintf(stderr, "COM error %08x\n", __hr); abort();}} while(0)
 -
 -struct d3d11_application
 -{
 -	virtual ~d3d11_application() {}
 -
 -	virtual void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time) = 0;
 -	virtual bool init(ID3D11Device* dev, int argc, char** argv) = 0;
 -};
 -
 -/* this is the entry point you must provide */
 -extern "C" d3d11_application* d3d11_application_create();
 -
 -#endif
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#ifndef D3D11APP_H +#define D3D11APP_H + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#include <objbase.h> +#include <d3d11.h> +#include <assert.h> +#include <stdio.h> +#include <float.h> + +#define ensure(x) do {HRESULT __hr = (x); if(!SUCCEEDED(__hr)) {fprintf(stderr, "COM error %08x\n", __hr); abort();}} while(0) + +struct d3d11_application +{ +	virtual ~d3d11_application() {} + +	virtual void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time) = 0; +	virtual bool init(ID3D11Device* dev, int argc, char** argv) = 0; +}; + +/* this is the entry point you must provide */ +extern "C" d3d11_application* d3d11_application_create(); + +#endif diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11blit.hlsl.ps.h b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11blit.hlsl.ps.h index d034c87222..5823b4c976 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11blit.hlsl.ps.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11blit.hlsl.ps.h @@ -1,142 +1,142 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11blit.hlsl.ps.h /Eps_blit /Tps_4_0 d3d11blit.hlsl
 -//
 -//
 -// Resource Bindings:
 -//
 -// Name                                 Type  Format         Dim Slot Elements
 -// ------------------------------ ---------- ------- ----------- ---- --------
 -// samp                              sampler      NA          NA    0        1
 -// tex                               texture  float4          2d    0        1
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float       
 -// TEXCOORD                 0   xy          1     NONE  float   xy  
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_TARGET                0   xyzw        0   TARGET  float   xyzw
 -//
 -ps_4_0
 -dcl_sampler s0, mode_default
 -dcl_resource_texture2d (float,float,float,float) t0
 -dcl_input_ps linear v1.xy
 -dcl_output o0.xyzw
 -sample o0.xyzw, v1.xyxx, t0.xyzw, s0
 -ret 
 -// Approximately 2 instruction slots used
 -#endif
 -
 -const BYTE g_ps_blit[] =
 -{
 -     68,  88,  66,  67, 183, 100, 
 -     39,  89, 244,  20, 241,  39, 
 -     36, 169, 159, 230, 234, 214, 
 -    114,  11,   1,   0,   0,   0, 
 -     72,   2,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    212,   0,   0,   0,  44,   1, 
 -      0,   0,  96,   1,   0,   0, 
 -    204,   1,   0,   0,  82,  68, 
 -     69,  70, 152,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    255, 255,   0,   1,   0,   0, 
 -    101,   0,   0,   0,  92,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     97,   0,   0,   0,   2,   0, 
 -      0,   0,   5,   0,   0,   0, 
 -      4,   0,   0,   0, 255, 255, 
 -    255, 255,   0,   0,   0,   0, 
 -      1,   0,   0,   0,  12,   0, 
 -      0,   0, 115,  97, 109, 112, 
 -      0, 116, 101, 120,   0,  77, 
 -    105,  99, 114, 111, 115, 111, 
 -    102, 116,  32,  40,  82,  41, 
 -     32,  72,  76,  83,  76,  32, 
 -     83, 104,  97, 100, 101, 114, 
 -     32,  67, 111, 109, 112, 105, 
 -    108, 101, 114,  32,  57,  46, 
 -     50,  57,  46,  57,  53,  50, 
 -     46,  51,  49,  49,  49,   0, 
 -    171, 171,  73,  83,  71,  78, 
 -     80,   0,   0,   0,   2,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     68,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,   3,   3,   0,   0, 
 -     83,  86,  95,  80,  79,  83, 
 -     73,  84,  73,  79,  78,   0, 
 -     84,  69,  88,  67,  79,  79, 
 -     82,  68,   0, 171, 171, 171, 
 -     79,  83,  71,  78,  44,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      8,   0,   0,   0,  32,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     15,   0,   0,   0,  83,  86, 
 -     95,  84,  65,  82,  71,  69, 
 -     84,   0, 171, 171,  83,  72, 
 -     68,  82, 100,   0,   0,   0, 
 -     64,   0,   0,   0,  25,   0, 
 -      0,   0,  90,   0,   0,   3, 
 -      0,  96,  16,   0,   0,   0, 
 -      0,   0,  88,  24,   0,   4, 
 -      0, 112,  16,   0,   0,   0, 
 -      0,   0,  85,  85,   0,   0, 
 -     98,  16,   0,   3,  50,  16, 
 -     16,   0,   1,   0,   0,   0, 
 -    101,   0,   0,   3, 242,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -     69,   0,   0,   9, 242,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  16,  16,   0,   1,   0, 
 -      0,   0,  70, 126,  16,   0, 
 -      0,   0,   0,   0,   0,  96, 
 -     16,   0,   0,   0,   0,   0, 
 -     62,   0,   0,   1,  83,  84, 
 -     65,  84, 116,   0,   0,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11blit.hlsl.ps.h /Eps_blit /Tps_4_0 d3d11blit.hlsl +// +// +// Resource Bindings: +// +// Name                                 Type  Format         Dim Slot Elements +// ------------------------------ ---------- ------- ----------- ---- -------- +// samp                              sampler      NA          NA    0        1 +// tex                               texture  float4          2d    0        1 +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float        +// TEXCOORD                 0   xy          1     NONE  float   xy   +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_TARGET                0   xyzw        0   TARGET  float   xyzw +// +ps_4_0 +dcl_sampler s0, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_input_ps linear v1.xy +dcl_output o0.xyzw +sample o0.xyzw, v1.xyxx, t0.xyzw, s0 +ret  +// Approximately 2 instruction slots used +#endif + +const BYTE g_ps_blit[] = +{ +     68,  88,  66,  67, 183, 100,  +     39,  89, 244,  20, 241,  39,  +     36, 169, 159, 230, 234, 214,  +    114,  11,   1,   0,   0,   0,  +     72,   2,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    212,   0,   0,   0,  44,   1,  +      0,   0,  96,   1,   0,   0,  +    204,   1,   0,   0,  82,  68,  +     69,  70, 152,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   2,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    255, 255,   0,   1,   0,   0,  +    101,   0,   0,   0,  92,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +     97,   0,   0,   0,   2,   0,  +      0,   0,   5,   0,   0,   0,  +      4,   0,   0,   0, 255, 255,  +    255, 255,   0,   0,   0,   0,  +      1,   0,   0,   0,  12,   0,  +      0,   0, 115,  97, 109, 112,  +      0, 116, 101, 120,   0,  77,  +    105,  99, 114, 111, 115, 111,  +    102, 116,  32,  40,  82,  41,  +     32,  72,  76,  83,  76,  32,  +     83, 104,  97, 100, 101, 114,  +     32,  67, 111, 109, 112, 105,  +    108, 101, 114,  32,  57,  46,  +     50,  57,  46,  57,  53,  50,  +     46,  51,  49,  49,  49,   0,  +    171, 171,  73,  83,  71,  78,  +     80,   0,   0,   0,   2,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +     68,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,   3,   3,   0,   0,  +     83,  86,  95,  80,  79,  83,  +     73,  84,  73,  79,  78,   0,  +     84,  69,  88,  67,  79,  79,  +     82,  68,   0, 171, 171, 171,  +     79,  83,  71,  78,  44,   0,  +      0,   0,   1,   0,   0,   0,  +      8,   0,   0,   0,  32,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +     15,   0,   0,   0,  83,  86,  +     95,  84,  65,  82,  71,  69,  +     84,   0, 171, 171,  83,  72,  +     68,  82, 100,   0,   0,   0,  +     64,   0,   0,   0,  25,   0,  +      0,   0,  90,   0,   0,   3,  +      0,  96,  16,   0,   0,   0,  +      0,   0,  88,  24,   0,   4,  +      0, 112,  16,   0,   0,   0,  +      0,   0,  85,  85,   0,   0,  +     98,  16,   0,   3,  50,  16,  +     16,   0,   1,   0,   0,   0,  +    101,   0,   0,   3, 242,  32,  +     16,   0,   0,   0,   0,   0,  +     69,   0,   0,   9, 242,  32,  +     16,   0,   0,   0,   0,   0,  +     70,  16,  16,   0,   1,   0,  +      0,   0,  70, 126,  16,   0,  +      0,   0,   0,   0,   0,  96,  +     16,   0,   0,   0,   0,   0,  +     62,   0,   0,   1,  83,  84,  +     65,  84, 116,   0,   0,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11blit.hlsl.vs.h b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11blit.hlsl.vs.h index 8e884d9248..5d9acd20f1 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11blit.hlsl.vs.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11blit.hlsl.vs.h @@ -1,130 +1,130 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11blit.hlsl.vs.h /Evs_blit /Tvs_4_0 d3d11blit.hlsl
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyzw        0     NONE  float   xyzw
 -// TEXCOORD                 0   xy          1     NONE  float   xy  
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float   xyzw
 -// TEXCOORD                 0   xy          1     NONE  float   xy  
 -//
 -vs_4_0
 -dcl_input v0.xyzw
 -dcl_input v1.xy
 -dcl_output_siv o0.xyzw, position
 -dcl_output o1.xy
 -mov o0.xyzw, v0.xyzw
 -mov o1.xy, v1.xyxx
 -ret 
 -// Approximately 3 instruction slots used
 -#endif
 -
 -const BYTE g_vs_blit[] =
 -{
 -     68,  88,  66,  67, 142,  11, 
 -    173,  22,  73,  47, 224,  51, 
 -    147,  83, 148, 177,  56,  17, 
 -     72, 237,   1,   0,   0,   0, 
 -     36,   2,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    140,   0,   0,   0, 224,   0, 
 -      0,   0,  56,   1,   0,   0, 
 -    168,   1,   0,   0,  82,  68, 
 -     69,  70,  80,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    254, 255,   0,   1,   0,   0, 
 -     28,   0,   0,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -    171, 171,  73,  83,  71,  78, 
 -     76,   0,   0,   0,   2,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,  15,   0,   0, 
 -     65,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,   3,   3,   0,   0, 
 -     80,  79,  83,  73,  84,  73, 
 -     79,  78,   0,  84,  69,  88, 
 -     67,  79,  79,  82,  68,   0, 
 -    171, 171,  79,  83,  71,  78, 
 -     80,   0,   0,   0,   2,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     68,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,   3,  12,   0,   0, 
 -     83,  86,  95,  80,  79,  83, 
 -     73,  84,  73,  79,  78,   0, 
 -     84,  69,  88,  67,  79,  79, 
 -     82,  68,   0, 171, 171, 171, 
 -     83,  72,  68,  82, 104,   0, 
 -      0,   0,  64,   0,   1,   0, 
 -     26,   0,   0,   0,  95,   0, 
 -      0,   3, 242,  16,  16,   0, 
 -      0,   0,   0,   0,  95,   0, 
 -      0,   3,  50,  16,  16,   0, 
 -      1,   0,   0,   0, 103,   0, 
 -      0,   4, 242,  32,  16,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0, 101,   0,   0,   3, 
 -     50,  32,  16,   0,   1,   0, 
 -      0,   0,  54,   0,   0,   5, 
 -    242,  32,  16,   0,   0,   0, 
 -      0,   0,  70,  30,  16,   0, 
 -      0,   0,   0,   0,  54,   0, 
 -      0,   5,  50,  32,  16,   0, 
 -      1,   0,   0,   0,  70,  16, 
 -     16,   0,   1,   0,   0,   0, 
 -     62,   0,   0,   1,  83,  84, 
 -     65,  84, 116,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      4,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   2,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11blit.hlsl.vs.h /Evs_blit /Tvs_4_0 d3d11blit.hlsl +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyzw        0     NONE  float   xyzw +// TEXCOORD                 0   xy          1     NONE  float   xy   +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float   xyzw +// TEXCOORD                 0   xy          1     NONE  float   xy   +// +vs_4_0 +dcl_input v0.xyzw +dcl_input v1.xy +dcl_output_siv o0.xyzw, position +dcl_output o1.xy +mov o0.xyzw, v0.xyzw +mov o1.xy, v1.xyxx +ret  +// Approximately 3 instruction slots used +#endif + +const BYTE g_vs_blit[] = +{ +     68,  88,  66,  67, 142,  11,  +    173,  22,  73,  47, 224,  51,  +    147,  83, 148, 177,  56,  17,  +     72, 237,   1,   0,   0,   0,  +     36,   2,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    140,   0,   0,   0, 224,   0,  +      0,   0,  56,   1,   0,   0,  +    168,   1,   0,   0,  82,  68,  +     69,  70,  80,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    254, 255,   0,   1,   0,   0,  +     28,   0,   0,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +    171, 171,  73,  83,  71,  78,  +     76,   0,   0,   0,   2,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,  15,   0,   0,  +     65,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,   3,   3,   0,   0,  +     80,  79,  83,  73,  84,  73,  +     79,  78,   0,  84,  69,  88,  +     67,  79,  79,  82,  68,   0,  +    171, 171,  79,  83,  71,  78,  +     80,   0,   0,   0,   2,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +     68,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,   3,  12,   0,   0,  +     83,  86,  95,  80,  79,  83,  +     73,  84,  73,  79,  78,   0,  +     84,  69,  88,  67,  79,  79,  +     82,  68,   0, 171, 171, 171,  +     83,  72,  68,  82, 104,   0,  +      0,   0,  64,   0,   1,   0,  +     26,   0,   0,   0,  95,   0,  +      0,   3, 242,  16,  16,   0,  +      0,   0,   0,   0,  95,   0,  +      0,   3,  50,  16,  16,   0,  +      1,   0,   0,   0, 103,   0,  +      0,   4, 242,  32,  16,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0, 101,   0,   0,   3,  +     50,  32,  16,   0,   1,   0,  +      0,   0,  54,   0,   0,   5,  +    242,  32,  16,   0,   0,   0,  +      0,   0,  70,  30,  16,   0,  +      0,   0,   0,   0,  54,   0,  +      0,   5,  50,  32,  16,   0,  +      1,   0,   0,   0,  70,  16,  +     16,   0,   1,   0,   0,   0,  +     62,   0,   0,   1,  83,  84,  +     65,  84, 116,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      4,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   2,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11u.h b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11u.h index e67fa09606..1e0ce04ca6 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11u.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11u.h @@ -1,424 +1,424 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#include <vector>
 -
 -#include "d3d11blit.hlsl.ps.h"
 -#include "d3d11blit.hlsl.vs.h"
 -
 -template<typename index_type = unsigned>
 -struct triangle_list_indices : public std::vector<index_type>
 -{
 -	unsigned base;
 -	bool flip;
 -
 -	triangle_list_indices()
 -	: base(0), flip(false)
 -	{}
 -
 -	void poly(unsigned a, unsigned b, unsigned c)
 -	{
 -		this->push_back(base + a);
 -		this->push_back(base + (flip ? c : b));
 -		this->push_back(base + (flip ? b : c));
 -	}
 -
 -	void poly(unsigned a, unsigned b, unsigned c, unsigned d)
 -	{
 -		poly(a, b, c);
 -		poly(a, c, d);
 -	}
 -
 -	void poly(unsigned a, unsigned b, unsigned c, unsigned d, unsigned e)
 -	{
 -		poly(a, b, c, d);
 -		poly(a, d, e);
 -	}
 -
 -	void poly(unsigned a, unsigned b, unsigned c, unsigned d, unsigned e, unsigned f)
 -	{
 -		poly(a, b, c, d, e);
 -		poly(a, e, f);
 -	}
 -
 -	void poly(unsigned a, unsigned b, unsigned c, unsigned d, unsigned e, unsigned f, unsigned g)
 -	{
 -		poly(a, b, c, d, e, f);
 -		poly(a, f, g);
 -	}
 -
 -	void poly(unsigned a, unsigned b, unsigned c, unsigned d, unsigned e, unsigned f, unsigned g, unsigned h)
 -	{
 -		poly(a, b, c, d, e, f, g);
 -		poly(a, g, h);
 -	}
 -};
 -
 -struct mesh
 -{
 -	ID3D11InputLayout* layout;
 -	ID3D11Buffer* buffer;
 -	D3D11_PRIMITIVE_TOPOLOGY topology;
 -	unsigned vertex_size;
 -	unsigned draw_count;
 -	DXGI_FORMAT index_format;
 -	unsigned index_offset;
 -
 -	mesh(ID3D11Device* dev, D3D11_PRIMITIVE_TOPOLOGY topology,
 -		const D3D11_INPUT_ELEMENT_DESC *elements, unsigned num_elements,
 -		const void* vs, unsigned vs_size,
 -		const void* vertices, unsigned vertex_size, unsigned num_vertices,
 -		const void* indices = 0, unsigned index_size = 0, unsigned num_indices = 0)
 -		: topology(topology), vertex_size(vertex_size), draw_count(index_size ? num_indices : num_vertices)
 -	{
 -		dev->CreateInputLayout(elements, num_elements, vs, vs_size, &layout);
 -		if(index_size == 2)
 -			index_format = DXGI_FORMAT_R16_UINT;
 -		else if(index_size == 4)
 -			index_format = DXGI_FORMAT_R32_UINT;
 -		else
 -			index_format = DXGI_FORMAT_UNKNOWN;
 -		this->vertex_size = vertex_size;
 -		index_offset = vertex_size * num_vertices;
 -
 -	 	D3D11_BUFFER_DESC bufferd;
 -		memset(&bufferd, 0, sizeof(bufferd));
 -		bufferd.Usage = D3D11_USAGE_IMMUTABLE;
 -		bufferd.BindFlags = D3D11_BIND_VERTEX_BUFFER;
 -		if(index_format)
 -			bufferd.BindFlags |= D3D11_BIND_INDEX_BUFFER;
 -		bufferd.ByteWidth = index_offset + index_format * num_indices;
 -
 -		char* data = (char*)malloc(bufferd.ByteWidth);
 -		memcpy(data, vertices, vertex_size * num_vertices);
 -		memcpy(data + index_offset, indices, index_size * num_indices);
 -
 -		D3D11_SUBRESOURCE_DATA buffersd;
 -		buffersd.pSysMem = data;
 -
 -		ensure(dev->CreateBuffer(&bufferd, &buffersd, &buffer));
 -		free(data);
 -	}
 -
 -	~mesh()
 -	{
 -		layout->Release();
 -		buffer->Release();
 -	}
 -
 -	void bind(ID3D11DeviceContext* ctx)
 -	{
 -		unsigned offset = 0;
 -		ctx->IASetPrimitiveTopology(topology);
 -		ctx->IASetInputLayout(layout);
 -		if(index_format)
 -			ctx->IASetIndexBuffer(buffer, index_format, index_offset);
 -		ctx->IASetVertexBuffers(0, 1, &buffer, &vertex_size, &offset);
 -	}
 -
 -	void draw_bound(ID3D11DeviceContext* ctx)
 -	{
 -		if(index_format)
 -			ctx->DrawIndexed(draw_count, 0, 0);
 -		else
 -			ctx->Draw(draw_count, 0);
 -	}
 -
 -	void bind_and_draw(ID3D11DeviceContext* ctx)
 -	{
 -		bind(ctx);
 -		draw_bound(ctx);
 -	}
 -};
 -
 -mesh* create_tex_quad(ID3D11Device* dev, const BYTE* vs, unsigned vs_size)
 -{
 -	float quad_data[] = {
 -		-1, -1, 0, 1,
 -		-1, 1, 0, 0,
 -		1, -1, 1, 1,
 -		1, 1, 1, 0,
 -	};
 -
 -	D3D11_INPUT_ELEMENT_DESC elements[2] =
 -	{
 -		{"POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0},
 -		{"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 8, D3D11_INPUT_PER_VERTEX_DATA, 0},
 -	};
 -
 -	return new mesh(dev, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
 -		elements, 2,
 -		vs, vs_size,
 -		quad_data, 4 * sizeof(float), 4,
 -		0, 0, 0);
 -}
 -
 -struct d3d11_blitter
 -{
 -	mesh* quad;
 -	ID3D11VertexShader* vs;
 -	ID3D11PixelShader* ps;
 -	ID3D11SamplerState* sampler[2];
 -
 -	d3d11_blitter(ID3D11Device* dev)
 -	{
 -		quad = create_tex_quad(dev, g_vs_blit, sizeof(g_vs_blit));
 -
 -		dev->CreateVertexShader(g_vs_blit, sizeof(g_vs_blit), 0, &vs);
 -		dev->CreatePixelShader(g_ps_blit, sizeof(g_ps_blit), 0, &ps);
 -
 -		for(unsigned i = 0; i < 2; ++i)
 -		{
 -			D3D11_SAMPLER_DESC samplerd;
 -			memset(&samplerd, 0, sizeof(samplerd));
 -			samplerd.Filter = i ? D3D11_FILTER_MIN_MAG_MIP_LINEAR : D3D11_FILTER_MIN_MAG_MIP_LINEAR;
 -			samplerd.AddressU = samplerd.AddressV = samplerd.AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
 -			dev->CreateSamplerState(&samplerd, &sampler[i]);
 -		}
 -	}
 -
 -	void bind(ID3D11DeviceContext* ctx, ID3D11ShaderResourceView* srv, ID3D11RenderTargetView* rtv, float x, float y, float width, float height, bool linear)
 -	{
 -		D3D11_VIEWPORT vp;
 -		vp.TopLeftX = x;
 -		vp.TopLeftY = y;
 -		vp.Width = width;
 -		vp.Height = height;
 -		vp.MinDepth = 0;
 -		vp.MaxDepth = 1;
 -		ctx->RSSetViewports(1, &vp);
 -		ctx->RSSetState(0);
 -		ctx->OMSetBlendState(0, 0, ~0);
 -		ctx->OMSetDepthStencilState(0, 0);
 -		ctx->OMSetRenderTargets(1, &rtv, 0);
 -		ctx->VSSetShader(vs, 0, 0);
 -		ctx->PSSetShader(ps, 0, 0);
 -		ctx->PSSetShaderResources(0, 1, &srv);
 -		ctx->PSSetSamplers(0, 1, &sampler[!!linear]);
 -		quad->bind(ctx);
 -	}
 -
 -	void draw_bound(ID3D11DeviceContext* ctx)
 -	{
 -		quad->draw_bound(ctx);
 -	}
 -
 -	void bind_draw_and_unbind(ID3D11DeviceContext* ctx, ID3D11ShaderResourceView* srv, ID3D11RenderTargetView* rtv, float x, float y, float width, float height, bool linear)
 -	{
 -		bind(ctx, srv, rtv, x, y, width, height, linear);
 -		draw_bound(ctx);
 -		unbind(ctx);
 -	}
 -
 -	void unbind(ID3D11DeviceContext* ctx)
 -	{
 -		void* null = 0;
 -		ctx->PSSetShaderResources(0, 1, (ID3D11ShaderResourceView**)&null);
 -		ctx->PSSetSamplers(0, 1, (ID3D11SamplerState**)&null);
 -	}
 -};
 -
 -template<typename T, unsigned n>
 -struct vec_t
 -{
 -	T v[n];
 -
 -	T& operator [](unsigned i)
 -	{
 -		return v[i];
 -	}
 -
 -	const T& operator [](unsigned i) const
 -	{
 -		return v[i];
 -	}
 -};
 -
 -template<typename T, unsigned n>
 -vec_t<T, n> operator -(const vec_t<T, n> a)
 -{
 -	vec_t<T, n> r;
 -	for(unsigned i = 0; i < n; ++i)
 -		r[i] = -a[i];
 -	return r;
 -}
 -
 -template<typename T, unsigned n>
 -vec_t<T, n> operator +(const vec_t<T, n>& a, const vec_t<T, n>& b)
 -{
 -	vec_t<T, n> r;
 -	for(unsigned i = 0; i < n; ++i)
 -		r[i] = a[i] + b[i];
 -	return r;
 -}
 -
 -template<typename T, unsigned n>
 -vec_t<T, n>& operator +=(vec_t<T, n>& a, const vec_t<T, n>& b)
 -{
 -	for(unsigned i = 0; i < n; ++i)
 -		a[i] += b[i];
 -	return a;
 -}
 -
 -template<typename T, unsigned r, unsigned c>
 -struct mat_t : public vec_t<vec_t<T, r>, c>
 -{};
 -
 -template<typename T, unsigned n>
 -vec_t<T, n> operator *(const vec_t<T, n>& a, const T& b)
 -{
 -	vec_t<T, n> r;
 -	for(unsigned i = 0; i < n; ++i)
 -		r[i] = a[i] * b;
 -	return r;
 -}
 -
 -template<typename T, unsigned n>
 -vec_t<T, n> operator *(const T& b, const vec_t<T, n>& a)
 -{
 -	vec_t<T, n> r;
 -	for(unsigned i = 0; i < n; ++i)
 -		r[i] = a[i] * b;
 -	return r;
 -}
 -
 -template<typename T, unsigned d, unsigned e>
 -vec_t<T, e> operator *(const mat_t<T, e, d>& m, const vec_t<T, d>& b)
 -{
 -	vec_t<T, e> r;
 -	r = m[0] * b[0];
 -	for(unsigned i = 1; i < d; ++i)
 -		r += m[i] * b[i];
 -	return r;
 -}
 -
 -template<typename T, unsigned d, unsigned e, unsigned f>
 -mat_t<T, e, f> operator *(const mat_t<T, e, d>& m, const mat_t<T, d, f>& b)
 -{
 -	mat_t<T, e, f> r;
 -	for(unsigned i = 0; i < d; ++i)
 -		r[i] = m * b[i];
 -	return r;
 -}
 -
 -template<typename T>
 -vec_t<T, 3> vec(T a, T b, T c)
 -{
 -	vec_t<T, 4> v;
 -	v[0] = a;
 -	v[1] = b;
 -	v[2] = c;
 -	return v;
 -}
 -
 -template<typename T>
 -vec_t<T, 4> vec(T a, T b, T c, T d)
 -{
 -	vec_t<T, 4> v;
 -	v[0] = a;
 -	v[1] = b;
 -	v[2] = c;
 -	v[3] = d;
 -	return v;
 -}
 -
 -typedef mat_t<float, 4, 4> float4x4;
 -typedef mat_t<float, 4, 3> float4x3;
 -typedef mat_t<float, 3, 4> float3x4;
 -typedef mat_t<float, 3, 3> float3x3;
 -
 -typedef vec_t<float, 3> float3;
 -typedef vec_t<float, 4> float4;
 -
 -template<typename T>
 -mat_t<T, 4, 4> mat4x4_frustum(T left, T right, T bottom, T top, T nearval, T farval)
 -{
 -	T x = (2.0f * nearval) / (right - left);
 -	T y = (2.0f * nearval) / (top - bottom);
 -	T a = (right + left) / (right - left);
 -	T b = (top + bottom) / (top - bottom);
 -	T c = -(farval + nearval) / (farval - nearval);
 -	T d = -(2.0f * farval * nearval) / (farval - nearval);
 -	T _0 = (T)0;
 -
 -	mat_t<T, 4, 4> m;	
 -	m[0] = vec(x, _0, _0, _0);
 -	m[1] = vec(_0, y, _0, _0);
 -	m[2] = vec(a, b, c, (T)-1);
 -	m[3] = vec(_0, _0, d, _0);
 -	return m;
 -}
 -
 -template<typename T>
 -mat_t<T, 3, 3> mat3x3_diag(T v)
 -{
 -	mat_t<T, 3, 3> m;
 -	T _0 = (T)0;
 -	m[0] = vec(v, _0, _0);
 -	m[1] = vec(_0, v, _0);
 -	m[2] = vec(_0, _0, v);
 -	return m;
 -}
 -
 -template<typename T>
 -mat_t<T, 4, 4> mat4x4_diag(T v)
 -{
 -	mat_t<T, 4, 4> m;
 -	T _0 = (T)0;
 -	m[0] = vec(v, _0, _0, _0);
 -	m[1] = vec(_0, v, _0, _0);
 -	m[2] = vec(_0, _0, v, _0);
 -	m[3] = vec(_0, _0, _0, v);
 -	return m;
 -}
 -
 -template<typename T, unsigned n>
 -mat_t<T, n, n> mat_push_rotate(const mat_t<T, n, n>& m, unsigned axis, T angle)
 -{
 -	T s = (T)sin(angle);
 -	T c = (T)cos(angle);
 -
 -	mat_t<T, n, n> r = m;
 -	unsigned a = (axis + 1) % 3;
 -	unsigned b = (axis + 2) % 3;
 -	r[a] = (m[a] * c) + (m[b] * s);
 -	r[b] = -(m[a] * s) + (m[b] * c);
 -	return r;
 -}
 -
 -template<typename T, unsigned n>
 -mat_t<T, n, n> mat_push_translate(const mat_t<T, n, n>& m, float x, float y, float z)
 -{
 -	mat_t<T, n, n> r = m;
 -	vec_t<T, n> v;
 -	v[0] = x;
 -	v[1] = y;
 -	v[2] = z;
 -	if(n >= 4)
 -		v[3] = (T)0;
 -	r[3] += m * v;
 -	return r;
 -}
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#include <vector> + +#include "d3d11blit.hlsl.ps.h" +#include "d3d11blit.hlsl.vs.h" + +template<typename index_type = unsigned> +struct triangle_list_indices : public std::vector<index_type> +{ +	unsigned base; +	bool flip; + +	triangle_list_indices() +	: base(0), flip(false) +	{} + +	void poly(unsigned a, unsigned b, unsigned c) +	{ +		this->push_back(base + a); +		this->push_back(base + (flip ? c : b)); +		this->push_back(base + (flip ? b : c)); +	} + +	void poly(unsigned a, unsigned b, unsigned c, unsigned d) +	{ +		poly(a, b, c); +		poly(a, c, d); +	} + +	void poly(unsigned a, unsigned b, unsigned c, unsigned d, unsigned e) +	{ +		poly(a, b, c, d); +		poly(a, d, e); +	} + +	void poly(unsigned a, unsigned b, unsigned c, unsigned d, unsigned e, unsigned f) +	{ +		poly(a, b, c, d, e); +		poly(a, e, f); +	} + +	void poly(unsigned a, unsigned b, unsigned c, unsigned d, unsigned e, unsigned f, unsigned g) +	{ +		poly(a, b, c, d, e, f); +		poly(a, f, g); +	} + +	void poly(unsigned a, unsigned b, unsigned c, unsigned d, unsigned e, unsigned f, unsigned g, unsigned h) +	{ +		poly(a, b, c, d, e, f, g); +		poly(a, g, h); +	} +}; + +struct mesh +{ +	ID3D11InputLayout* layout; +	ID3D11Buffer* buffer; +	D3D11_PRIMITIVE_TOPOLOGY topology; +	unsigned vertex_size; +	unsigned draw_count; +	DXGI_FORMAT index_format; +	unsigned index_offset; + +	mesh(ID3D11Device* dev, D3D11_PRIMITIVE_TOPOLOGY topology, +		const D3D11_INPUT_ELEMENT_DESC *elements, unsigned num_elements, +		const void* vs, unsigned vs_size, +		const void* vertices, unsigned vertex_size, unsigned num_vertices, +		const void* indices = 0, unsigned index_size = 0, unsigned num_indices = 0) +		: topology(topology), vertex_size(vertex_size), draw_count(index_size ? num_indices : num_vertices) +	{ +		dev->CreateInputLayout(elements, num_elements, vs, vs_size, &layout); +		if(index_size == 2) +			index_format = DXGI_FORMAT_R16_UINT; +		else if(index_size == 4) +			index_format = DXGI_FORMAT_R32_UINT; +		else +			index_format = DXGI_FORMAT_UNKNOWN; +		this->vertex_size = vertex_size; +		index_offset = vertex_size * num_vertices; + +	 	D3D11_BUFFER_DESC bufferd; +		memset(&bufferd, 0, sizeof(bufferd)); +		bufferd.Usage = D3D11_USAGE_IMMUTABLE; +		bufferd.BindFlags = D3D11_BIND_VERTEX_BUFFER; +		if(index_format) +			bufferd.BindFlags |= D3D11_BIND_INDEX_BUFFER; +		bufferd.ByteWidth = index_offset + index_format * num_indices; + +		char* data = (char*)malloc(bufferd.ByteWidth); +		memcpy(data, vertices, vertex_size * num_vertices); +		memcpy(data + index_offset, indices, index_size * num_indices); + +		D3D11_SUBRESOURCE_DATA buffersd; +		buffersd.pSysMem = data; + +		ensure(dev->CreateBuffer(&bufferd, &buffersd, &buffer)); +		free(data); +	} + +	~mesh() +	{ +		layout->Release(); +		buffer->Release(); +	} + +	void bind(ID3D11DeviceContext* ctx) +	{ +		unsigned offset = 0; +		ctx->IASetPrimitiveTopology(topology); +		ctx->IASetInputLayout(layout); +		if(index_format) +			ctx->IASetIndexBuffer(buffer, index_format, index_offset); +		ctx->IASetVertexBuffers(0, 1, &buffer, &vertex_size, &offset); +	} + +	void draw_bound(ID3D11DeviceContext* ctx) +	{ +		if(index_format) +			ctx->DrawIndexed(draw_count, 0, 0); +		else +			ctx->Draw(draw_count, 0); +	} + +	void bind_and_draw(ID3D11DeviceContext* ctx) +	{ +		bind(ctx); +		draw_bound(ctx); +	} +}; + +mesh* create_tex_quad(ID3D11Device* dev, const BYTE* vs, unsigned vs_size) +{ +	float quad_data[] = { +		-1, -1, 0, 1, +		-1, 1, 0, 0, +		1, -1, 1, 1, +		1, 1, 1, 0, +	}; + +	D3D11_INPUT_ELEMENT_DESC elements[2] = +	{ +		{"POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0}, +		{"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 8, D3D11_INPUT_PER_VERTEX_DATA, 0}, +	}; + +	return new mesh(dev, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, +		elements, 2, +		vs, vs_size, +		quad_data, 4 * sizeof(float), 4, +		0, 0, 0); +} + +struct d3d11_blitter +{ +	mesh* quad; +	ID3D11VertexShader* vs; +	ID3D11PixelShader* ps; +	ID3D11SamplerState* sampler[2]; + +	d3d11_blitter(ID3D11Device* dev) +	{ +		quad = create_tex_quad(dev, g_vs_blit, sizeof(g_vs_blit)); + +		dev->CreateVertexShader(g_vs_blit, sizeof(g_vs_blit), 0, &vs); +		dev->CreatePixelShader(g_ps_blit, sizeof(g_ps_blit), 0, &ps); + +		for(unsigned i = 0; i < 2; ++i) +		{ +			D3D11_SAMPLER_DESC samplerd; +			memset(&samplerd, 0, sizeof(samplerd)); +			samplerd.Filter = i ? D3D11_FILTER_MIN_MAG_MIP_LINEAR : D3D11_FILTER_MIN_MAG_MIP_LINEAR; +			samplerd.AddressU = samplerd.AddressV = samplerd.AddressW = D3D11_TEXTURE_ADDRESS_CLAMP; +			dev->CreateSamplerState(&samplerd, &sampler[i]); +		} +	} + +	void bind(ID3D11DeviceContext* ctx, ID3D11ShaderResourceView* srv, ID3D11RenderTargetView* rtv, float x, float y, float width, float height, bool linear) +	{ +		D3D11_VIEWPORT vp; +		vp.TopLeftX = x; +		vp.TopLeftY = y; +		vp.Width = width; +		vp.Height = height; +		vp.MinDepth = 0; +		vp.MaxDepth = 1; +		ctx->RSSetViewports(1, &vp); +		ctx->RSSetState(0); +		ctx->OMSetBlendState(0, 0, ~0); +		ctx->OMSetDepthStencilState(0, 0); +		ctx->OMSetRenderTargets(1, &rtv, 0); +		ctx->VSSetShader(vs, 0, 0); +		ctx->PSSetShader(ps, 0, 0); +		ctx->PSSetShaderResources(0, 1, &srv); +		ctx->PSSetSamplers(0, 1, &sampler[!!linear]); +		quad->bind(ctx); +	} + +	void draw_bound(ID3D11DeviceContext* ctx) +	{ +		quad->draw_bound(ctx); +	} + +	void bind_draw_and_unbind(ID3D11DeviceContext* ctx, ID3D11ShaderResourceView* srv, ID3D11RenderTargetView* rtv, float x, float y, float width, float height, bool linear) +	{ +		bind(ctx, srv, rtv, x, y, width, height, linear); +		draw_bound(ctx); +		unbind(ctx); +	} + +	void unbind(ID3D11DeviceContext* ctx) +	{ +		void* null = 0; +		ctx->PSSetShaderResources(0, 1, (ID3D11ShaderResourceView**)&null); +		ctx->PSSetSamplers(0, 1, (ID3D11SamplerState**)&null); +	} +}; + +template<typename T, unsigned n> +struct vec_t +{ +	T v[n]; + +	T& operator [](unsigned i) +	{ +		return v[i]; +	} + +	const T& operator [](unsigned i) const +	{ +		return v[i]; +	} +}; + +template<typename T, unsigned n> +vec_t<T, n> operator -(const vec_t<T, n> a) +{ +	vec_t<T, n> r; +	for(unsigned i = 0; i < n; ++i) +		r[i] = -a[i]; +	return r; +} + +template<typename T, unsigned n> +vec_t<T, n> operator +(const vec_t<T, n>& a, const vec_t<T, n>& b) +{ +	vec_t<T, n> r; +	for(unsigned i = 0; i < n; ++i) +		r[i] = a[i] + b[i]; +	return r; +} + +template<typename T, unsigned n> +vec_t<T, n>& operator +=(vec_t<T, n>& a, const vec_t<T, n>& b) +{ +	for(unsigned i = 0; i < n; ++i) +		a[i] += b[i]; +	return a; +} + +template<typename T, unsigned r, unsigned c> +struct mat_t : public vec_t<vec_t<T, r>, c> +{}; + +template<typename T, unsigned n> +vec_t<T, n> operator *(const vec_t<T, n>& a, const T& b) +{ +	vec_t<T, n> r; +	for(unsigned i = 0; i < n; ++i) +		r[i] = a[i] * b; +	return r; +} + +template<typename T, unsigned n> +vec_t<T, n> operator *(const T& b, const vec_t<T, n>& a) +{ +	vec_t<T, n> r; +	for(unsigned i = 0; i < n; ++i) +		r[i] = a[i] * b; +	return r; +} + +template<typename T, unsigned d, unsigned e> +vec_t<T, e> operator *(const mat_t<T, e, d>& m, const vec_t<T, d>& b) +{ +	vec_t<T, e> r; +	r = m[0] * b[0]; +	for(unsigned i = 1; i < d; ++i) +		r += m[i] * b[i]; +	return r; +} + +template<typename T, unsigned d, unsigned e, unsigned f> +mat_t<T, e, f> operator *(const mat_t<T, e, d>& m, const mat_t<T, d, f>& b) +{ +	mat_t<T, e, f> r; +	for(unsigned i = 0; i < d; ++i) +		r[i] = m * b[i]; +	return r; +} + +template<typename T> +vec_t<T, 3> vec(T a, T b, T c) +{ +	vec_t<T, 4> v; +	v[0] = a; +	v[1] = b; +	v[2] = c; +	return v; +} + +template<typename T> +vec_t<T, 4> vec(T a, T b, T c, T d) +{ +	vec_t<T, 4> v; +	v[0] = a; +	v[1] = b; +	v[2] = c; +	v[3] = d; +	return v; +} + +typedef mat_t<float, 4, 4> float4x4; +typedef mat_t<float, 4, 3> float4x3; +typedef mat_t<float, 3, 4> float3x4; +typedef mat_t<float, 3, 3> float3x3; + +typedef vec_t<float, 3> float3; +typedef vec_t<float, 4> float4; + +template<typename T> +mat_t<T, 4, 4> mat4x4_frustum(T left, T right, T bottom, T top, T nearval, T farval) +{ +	T x = (2.0f * nearval) / (right - left); +	T y = (2.0f * nearval) / (top - bottom); +	T a = (right + left) / (right - left); +	T b = (top + bottom) / (top - bottom); +	T c = -(farval + nearval) / (farval - nearval); +	T d = -(2.0f * farval * nearval) / (farval - nearval); +	T _0 = (T)0; + +	mat_t<T, 4, 4> m;	 +	m[0] = vec(x, _0, _0, _0); +	m[1] = vec(_0, y, _0, _0); +	m[2] = vec(a, b, c, (T)-1); +	m[3] = vec(_0, _0, d, _0); +	return m; +} + +template<typename T> +mat_t<T, 3, 3> mat3x3_diag(T v) +{ +	mat_t<T, 3, 3> m; +	T _0 = (T)0; +	m[0] = vec(v, _0, _0); +	m[1] = vec(_0, v, _0); +	m[2] = vec(_0, _0, v); +	return m; +} + +template<typename T> +mat_t<T, 4, 4> mat4x4_diag(T v) +{ +	mat_t<T, 4, 4> m; +	T _0 = (T)0; +	m[0] = vec(v, _0, _0, _0); +	m[1] = vec(_0, v, _0, _0); +	m[2] = vec(_0, _0, v, _0); +	m[3] = vec(_0, _0, _0, v); +	return m; +} + +template<typename T, unsigned n> +mat_t<T, n, n> mat_push_rotate(const mat_t<T, n, n>& m, unsigned axis, T angle) +{ +	T s = (T)sin(angle); +	T c = (T)cos(angle); + +	mat_t<T, n, n> r = m; +	unsigned a = (axis + 1) % 3; +	unsigned b = (axis + 2) % 3; +	r[a] = (m[a] * c) + (m[b] * s); +	r[b] = -(m[a] * s) + (m[b] * c); +	return r; +} + +template<typename T, unsigned n> +mat_t<T, n, n> mat_push_translate(const mat_t<T, n, n>& m, float x, float y, float z) +{ +	mat_t<T, n, n> r = m; +	vec_t<T, n> v; +	v[0] = x; +	v[1] = y; +	v[2] = z; +	if(n >= 4) +		v[3] = (T)0; +	r[3] += m * v; +	return r; +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11winmain.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11winmain.cpp index 76903e57f0..8e71ec367e 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11winmain.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11winmain.cpp @@ -1,172 +1,172 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#define INITGUID
 -#include "d3d11app.h"
 -#include "stdio.h"
 -
 -static d3d11_application* app;
 -static IDXGISwapChain* swap_chain;
 -static unsigned width, height;
 -static DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM;
 -static ID3D11Device* dev;
 -static ID3D11DeviceContext* ctx;
 -static int frames = 0;
 -static int buffer_count = 1;
 -
 -LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 -{
 -	switch (message)
 -	{
 -	case WM_SIZE:
 -		width = lParam & 0xffff;
 -		height = lParam >> 16;
 -		
 -		swap_chain->ResizeBuffers(buffer_count, width, height, format, 0);
 -		frames = 0;
 -		break;
 -	case WM_DESTROY:
 -		PostQuitMessage(0);
 -		break;
 -	default:
 -		return DefWindowProc(hwnd, message, wParam, lParam);
 -	}
 -	return 0;
 -}
 -
 -int main(int argc, char** argv)
 -{
 -	HINSTANCE hInstance = GetModuleHandle(NULL);
 -	WNDCLASSEXA wcex;
 -
 -	wcex.cbSize = sizeof(WNDCLASSEX);
 -
 -	wcex.style		= CS_HREDRAW | CS_VREDRAW;
 -	wcex.lpfnWndProc	= WndProc;
 -	wcex.cbClsExtra		= 0;
 -	wcex.cbWndExtra		= 0;
 -	wcex.hInstance		= hInstance;
 -	wcex.hIcon		= 0;
 -	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
 -	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
 -	wcex.lpszMenuName	= 0;
 -	wcex.lpszClassName	= "d3d11";
 -	wcex.hIconSm		= 0;
 -
 -	RegisterClassExA(&wcex);
 -
 -	HWND hwnd = CreateWindowA("d3d11", "d3d11", WS_OVERLAPPEDWINDOW,
 -		CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
 -
 -	if(!hwnd)
 -		return FALSE;
 -
 -	RECT rc;
 -	GetClientRect(hwnd, &rc );
 -	width = rc.right - rc.left;
 -	height = rc.bottom - rc.top;
 -
 -	DXGI_SWAP_CHAIN_DESC swap_chain_desc;
 -	memset(&swap_chain_desc, 0, sizeof(swap_chain_desc));
 -	swap_chain_desc.BufferDesc.Width = width;
 -	swap_chain_desc.BufferDesc.Height = height;
 -	swap_chain_desc.BufferDesc.Format = format;
 -	swap_chain_desc.SampleDesc.Count = 1;
 -	swap_chain_desc.SampleDesc.Quality = 0;
 -	swap_chain_desc.OutputWindow = hwnd;
 -	swap_chain_desc.Windowed = TRUE;
 -	swap_chain_desc.BufferCount = buffer_count;
 -	swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
 -	swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
 -	swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
 -
 -	D3D_FEATURE_LEVEL feature_level = D3D_FEATURE_LEVEL_10_0;
 -
 -	HRESULT hr = D3D11CreateDeviceAndSwapChain(
 -		NULL,
 -		D3D_DRIVER_TYPE_HARDWARE,
 -		NULL,
 -		D3D11_CREATE_DEVICE_SINGLETHREADED, // | D3D11_CREATE_DEVICE_DEBUG,
 -		NULL,
 -		0,
 -		D3D11_SDK_VERSION,
 -		&swap_chain_desc,
 -		&swap_chain,
 -		&dev,
 -		&feature_level,
 -		&ctx);
 -	if(!SUCCEEDED(hr))
 -	{
 -		fprintf(stderr, "Failed to create D3D11 device (hresult %08x)\n", hr);
 -		return 1;
 -	}
 -
 -	app = d3d11_application_create();
 -	if(!app->init(dev, argc, argv))
 -		return 1;
 -
 -	ShowWindow(hwnd, SW_SHOWDEFAULT);
 -	UpdateWindow(hwnd);
 -
 -	LARGE_INTEGER freq;
 -	QueryPerformanceFrequency(&freq);
 -	double period = 1.0 / (double)freq.QuadPart;
 -	LARGE_INTEGER ctime_li;
 -	QueryPerformanceCounter(&ctime_li);
 -	double start_time = ctime_li.QuadPart * period;
 -
 -	MSG msg;
 -	for(;;)
 -	{
 -		if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
 -		{
 -			if(msg.message == WM_QUIT)
 -				break;
 -			TranslateMessage(&msg);
 -			DispatchMessage(&msg);
 -		}
 -		else if(width && height)
 -		{
 -			ID3D11Texture2D* tex;
 -			static ID3D11RenderTargetView* rtv;
 -			ensure(swap_chain->GetBuffer(0, __uuidof(tex), (void**)&tex));
 -			ensure(dev->CreateRenderTargetView(tex, NULL, &rtv));
 -
 -			QueryPerformanceCounter(&ctime_li);
 -			double ctime = (double)ctime_li.QuadPart * period - start_time;
 -
 -			app->draw(ctx, rtv, width, height, ctime);
 -			ctx->OMSetRenderTargets(0, 0, 0);
 -
 -			swap_chain->Present(0, 0);
 -			rtv->Release();
 -			tex->Release();
 -		}
 -		else
 -			WaitMessage();
 -	}
 -	return (int) msg.wParam;
 -}
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#define INITGUID +#include "d3d11app.h" +#include "stdio.h" + +static d3d11_application* app; +static IDXGISwapChain* swap_chain; +static unsigned width, height; +static DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM; +static ID3D11Device* dev; +static ID3D11DeviceContext* ctx; +static int frames = 0; +static int buffer_count = 1; + +LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ +	switch (message) +	{ +	case WM_SIZE: +		width = lParam & 0xffff; +		height = lParam >> 16; +		 +		swap_chain->ResizeBuffers(buffer_count, width, height, format, 0); +		frames = 0; +		break; +	case WM_DESTROY: +		PostQuitMessage(0); +		break; +	default: +		return DefWindowProc(hwnd, message, wParam, lParam); +	} +	return 0; +} + +int main(int argc, char** argv) +{ +	HINSTANCE hInstance = GetModuleHandle(NULL); +	WNDCLASSEXA wcex; + +	wcex.cbSize = sizeof(WNDCLASSEX); + +	wcex.style		= CS_HREDRAW | CS_VREDRAW; +	wcex.lpfnWndProc	= WndProc; +	wcex.cbClsExtra		= 0; +	wcex.cbWndExtra		= 0; +	wcex.hInstance		= hInstance; +	wcex.hIcon		= 0; +	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW); +	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1); +	wcex.lpszMenuName	= 0; +	wcex.lpszClassName	= "d3d11"; +	wcex.hIconSm		= 0; + +	RegisterClassExA(&wcex); + +	HWND hwnd = CreateWindowA("d3d11", "d3d11", WS_OVERLAPPEDWINDOW, +		CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); + +	if(!hwnd) +		return FALSE; + +	RECT rc; +	GetClientRect(hwnd, &rc ); +	width = rc.right - rc.left; +	height = rc.bottom - rc.top; + +	DXGI_SWAP_CHAIN_DESC swap_chain_desc; +	memset(&swap_chain_desc, 0, sizeof(swap_chain_desc)); +	swap_chain_desc.BufferDesc.Width = width; +	swap_chain_desc.BufferDesc.Height = height; +	swap_chain_desc.BufferDesc.Format = format; +	swap_chain_desc.SampleDesc.Count = 1; +	swap_chain_desc.SampleDesc.Quality = 0; +	swap_chain_desc.OutputWindow = hwnd; +	swap_chain_desc.Windowed = TRUE; +	swap_chain_desc.BufferCount = buffer_count; +	swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH; +	swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; +	swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; + +	D3D_FEATURE_LEVEL feature_level = D3D_FEATURE_LEVEL_10_0; + +	HRESULT hr = D3D11CreateDeviceAndSwapChain( +		NULL, +		D3D_DRIVER_TYPE_HARDWARE, +		NULL, +		D3D11_CREATE_DEVICE_SINGLETHREADED, // | D3D11_CREATE_DEVICE_DEBUG, +		NULL, +		0, +		D3D11_SDK_VERSION, +		&swap_chain_desc, +		&swap_chain, +		&dev, +		&feature_level, +		&ctx); +	if(!SUCCEEDED(hr)) +	{ +		fprintf(stderr, "Failed to create D3D11 device (hresult %08x)\n", hr); +		return 1; +	} + +	app = d3d11_application_create(); +	if(!app->init(dev, argc, argv)) +		return 1; + +	ShowWindow(hwnd, SW_SHOWDEFAULT); +	UpdateWindow(hwnd); + +	LARGE_INTEGER freq; +	QueryPerformanceFrequency(&freq); +	double period = 1.0 / (double)freq.QuadPart; +	LARGE_INTEGER ctime_li; +	QueryPerformanceCounter(&ctime_li); +	double start_time = ctime_li.QuadPart * period; + +	MSG msg; +	for(;;) +	{ +		if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) +		{ +			if(msg.message == WM_QUIT) +				break; +			TranslateMessage(&msg); +			DispatchMessage(&msg); +		} +		else if(width && height) +		{ +			ID3D11Texture2D* tex; +			static ID3D11RenderTargetView* rtv; +			ensure(swap_chain->GetBuffer(0, __uuidof(tex), (void**)&tex)); +			ensure(dev->CreateRenderTargetView(tex, NULL, &rtv)); + +			QueryPerformanceCounter(&ctime_li); +			double ctime = (double)ctime_li.QuadPart * period - start_time; + +			app->draw(ctx, rtv, width, height, ctime); +			ctx->OMSetRenderTargets(0, 0, 0); + +			swap_chain->Present(0, 0); +			rtv->Release(); +			tex->Release(); +		} +		else +			WaitMessage(); +	} +	return (int) msg.wParam; +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11x11main.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11x11main.cpp index 1271499c4d..2fadf4eecd 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11x11main.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11app/d3d11x11main.cpp @@ -1,114 +1,114 @@ -#include "d3d11app.h"
 -#include <X11/Xlib.h>
 -#include <galliumdxgi.h>
 -#include <sys/time.h>
 -
 -static d3d11_application* app;
 -static IDXGISwapChain* swap_chain;
 -unsigned width, height;
 -DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM;
 -static ID3D11Device* dev;
 -static ID3D11DeviceContext* ctx;
 -
 -double get_time()
 -{
 -	struct timeval tv;
 -	gettimeofday(&tv, 0);
 -	return (double)tv.tv_sec + (double)tv.tv_usec * 0.000001;
 -}
 -
 -int main(int argc, char** argv)
 -{
 -	Display* dpy = XOpenDisplay(0);
 -	Visual* visual = DefaultVisual(dpy, DefaultScreen(dpy));
 -	Colormap cmap = XCreateColormap(dpy, RootWindow(dpy, DefaultScreen(dpy)), visual, AllocNone);
 -	XSetWindowAttributes swa;
 -	swa.colormap = cmap;
 -	swa.border_pixel = 0;
 -	swa.event_mask = StructureNotifyMask;
 -	width = 512;
 -	height = 512;
 -	Window win = XCreateWindow(dpy, RootWindow(dpy, DefaultScreen(dpy)), 0, 0, width, height, 0, CopyFromParent, InputOutput, visual, CWBorderPixel | CWColormap| CWEventMask, &swa);
 -	XMapWindow(dpy, win);
 -
 -	GalliumDXGIUseX11Display(dpy, 0);
 -
 -	DXGI_SWAP_CHAIN_DESC swap_chain_desc;
 -	memset(&swap_chain_desc, 0, sizeof(swap_chain_desc));
 -	swap_chain_desc.BufferDesc.Width = width;
 -	swap_chain_desc.BufferDesc.Height = height;
 -	swap_chain_desc.BufferDesc.Format = format;
 -	swap_chain_desc.SampleDesc.Count = 1;
 -	swap_chain_desc.SampleDesc.Quality = 0;
 -	swap_chain_desc.OutputWindow = (HWND)win;
 -	swap_chain_desc.Windowed = TRUE;
 -	swap_chain_desc.BufferCount = 3;
 -	swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH;
 -	swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
 -
 -	D3D_FEATURE_LEVEL feature_level = D3D_FEATURE_LEVEL_10_0;
 -
 -	HRESULT hr =D3D11CreateDeviceAndSwapChain(
 -		NULL,
 -		D3D_DRIVER_TYPE_HARDWARE,
 -		NULL,
 -		D3D11_CREATE_DEVICE_SINGLETHREADED,
 -		NULL,
 -		0,
 -		D3D11_SDK_VERSION,
 -		&swap_chain_desc,
 -		&swap_chain,
 -		&dev,
 -		&feature_level,
 -		&ctx);
 -	if(!SUCCEEDED(hr))
 -	{
 -		fprintf(stderr, "Failed to create D3D11 device (hresult %08x)\n", hr);
 -		return 1;
 -	}
 -
 -	app = d3d11_application_create();
 -	if(!app->init(dev, argc, argv))
 -		return 1;
 -
 -	double start_time = get_time();
 -
 -	MSG msg;
 -	for(;;)
 -	{
 -		XEvent event;
 -		if(XPending(dpy))
 -		{
 -			XNextEvent(dpy, &event);
 -			if(event.type == DestroyNotify)
 -				break;
 -			switch(event.type)
 -			{
 -			case ConfigureNotify:
 -				width = event.xconfigure.width;
 -				height = event.xconfigure.height;
 -				swap_chain->ResizeBuffers(3, width, height, format, 0);
 -				break;
 -			}
 -		}
 -		else if(width && height)
 -		{
 -			ID3D11Texture2D* tex;
 -			ID3D11RenderTargetView* rtv;
 -			ensure(swap_chain->GetBuffer(0, IID_ID3D11Texture2D, (void**)&tex));
 -			ensure(dev->CreateRenderTargetView(tex, NULL, &rtv));
 -
 -			double ctime = get_time() - start_time;
 -
 -			app->draw(ctx, rtv, width, height, ctime);
 -			ctx->OMSetRenderTargets(0, 0, 0);
 -
 -			tex->Release();
 -			rtv->Release();
 -			swap_chain->Present(0, 0);
 -		}
 -		else
 -			XPeekEvent(dpy, &event);
 -	}
 -	return (int) msg.wParam;
 -}
 +#include "d3d11app.h" +#include <X11/Xlib.h> +#include <galliumdxgi.h> +#include <sys/time.h> + +static d3d11_application* app; +static IDXGISwapChain* swap_chain; +unsigned width, height; +DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM; +static ID3D11Device* dev; +static ID3D11DeviceContext* ctx; + +double get_time() +{ +	struct timeval tv; +	gettimeofday(&tv, 0); +	return (double)tv.tv_sec + (double)tv.tv_usec * 0.000001; +} + +int main(int argc, char** argv) +{ +	Display* dpy = XOpenDisplay(0); +	Visual* visual = DefaultVisual(dpy, DefaultScreen(dpy)); +	Colormap cmap = XCreateColormap(dpy, RootWindow(dpy, DefaultScreen(dpy)), visual, AllocNone); +	XSetWindowAttributes swa; +	swa.colormap = cmap; +	swa.border_pixel = 0; +	swa.event_mask = StructureNotifyMask; +	width = 512; +	height = 512; +	Window win = XCreateWindow(dpy, RootWindow(dpy, DefaultScreen(dpy)), 0, 0, width, height, 0, CopyFromParent, InputOutput, visual, CWBorderPixel | CWColormap| CWEventMask, &swa); +	XMapWindow(dpy, win); + +	GalliumDXGIUseX11Display(dpy, 0); + +	DXGI_SWAP_CHAIN_DESC swap_chain_desc; +	memset(&swap_chain_desc, 0, sizeof(swap_chain_desc)); +	swap_chain_desc.BufferDesc.Width = width; +	swap_chain_desc.BufferDesc.Height = height; +	swap_chain_desc.BufferDesc.Format = format; +	swap_chain_desc.SampleDesc.Count = 1; +	swap_chain_desc.SampleDesc.Quality = 0; +	swap_chain_desc.OutputWindow = (HWND)win; +	swap_chain_desc.Windowed = TRUE; +	swap_chain_desc.BufferCount = 3; +	swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH; +	swap_chain_desc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + +	D3D_FEATURE_LEVEL feature_level = D3D_FEATURE_LEVEL_10_0; + +	HRESULT hr =D3D11CreateDeviceAndSwapChain( +		NULL, +		D3D_DRIVER_TYPE_HARDWARE, +		NULL, +		D3D11_CREATE_DEVICE_SINGLETHREADED, +		NULL, +		0, +		D3D11_SDK_VERSION, +		&swap_chain_desc, +		&swap_chain, +		&dev, +		&feature_level, +		&ctx); +	if(!SUCCEEDED(hr)) +	{ +		fprintf(stderr, "Failed to create D3D11 device (hresult %08x)\n", hr); +		return 1; +	} + +	app = d3d11_application_create(); +	if(!app->init(dev, argc, argv)) +		return 1; + +	double start_time = get_time(); + +	MSG msg; +	for(;;) +	{ +		XEvent event; +		if(XPending(dpy)) +		{ +			XNextEvent(dpy, &event); +			if(event.type == DestroyNotify) +				break; +			switch(event.type) +			{ +			case ConfigureNotify: +				width = event.xconfigure.width; +				height = event.xconfigure.height; +				swap_chain->ResizeBuffers(3, width, height, format, 0); +				break; +			} +		} +		else if(width && height) +		{ +			ID3D11Texture2D* tex; +			ID3D11RenderTargetView* rtv; +			ensure(swap_chain->GetBuffer(0, IID_ID3D11Texture2D, (void**)&tex)); +			ensure(dev->CreateRenderTargetView(tex, NULL, &rtv)); + +			double ctime = get_time() - start_time; + +			app->draw(ctx, rtv, width, height, ctime); +			ctx->OMSetRenderTargets(0, 0, 0); + +			tex->Release(); +			rtv->Release(); +			swap_chain->Present(0, 0); +		} +		else +			XPeekEvent(dpy, &event); +	} +	return (int) msg.wParam; +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.cpp index de9946c67e..0edf1f2ef1 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.cpp @@ -1,573 +1,573 @@ -/*
 -* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
 -* Copyright (C) 2009-2010 Luca Barbieri All Rights Reserved.
 -*
 -* Permission is hereby granted, free of charge, to any person obtaining a
 -* copy of this software and associated documentation files (the "Software"),
 -* to deal in the Software without restriction, including without limitation
 -* the rights to use, copy, modify, merge, publish, distribute, sublicense,
 -* and/or sell copies of the Software, and to permit persons to whom the
 -* Software is furnished to do so, subject to the following conditions:
 -*.
 -* The above copyright notice and this permission notice shall be included
 -* in all copies or substantial portions of the Software.
 -*
 -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 -* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 -* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 -* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 -* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 -* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 -*/
 -
 -/*
 -* This is a port of the infamous "glxgears" demo to straight EGL
 -* Port by Dane Rushton 10 July 2005
 -*
 -* This a rewrite of the 'eglgears' demo in straight Gallium
 -* Port by Luca Barbieri
 -*
 -* This a port of the 'galliumgears' demo to Direct3D 11
 -* Port by Luca Barbieri
 -*/
 -
 -#define _USE_MATH_DEFINES
 -#include "d3d11app.h"
 -#include "d3d11u.h"
 -#include "d3d11gears.hlsl.ps.h"
 -#include "d3d11gears.hlsl.vs.h"
 -
 -#include <stdlib.h>
 -#include <stdio.h>
 -#include <math.h>
 -#include <float.h>
 -
 -struct gear
 -{
 -	struct mesh* mesh;
 -	float x;
 -	float y;
 -	float t0;
 -	float wmul;
 -	float4 color;
 -};
 -
 -struct cbuf_t
 -{
 -	float4x4 projection;
 -	float4x4 modelview;
 -	float4 light;
 -	float4 diffuse;
 -	float4 specular;
 -	float specular_power;
 -	float padding[3];
 -};
 -
 -struct gear gears[3];
 -
 -struct vertex
 -{
 -	float position[3];
 -	float normal[3];
 -
 -	vertex(float x, float y, float z, float nx, float ny, float nz)
 -	{
 -		position[0] = x;
 -		position[1] = y;
 -		position[2] = z;
 -		normal[0] = nx;
 -		normal[1] = ny;
 -		normal[2] = nz;
 -	}
 -};
 -
 -#define VERT(x, y, z) vertices.push_back(vertex((x), (y), (z), (nx), (ny), (nz)))
 -
 -static mesh* build_gear(ID3D11Device* dev, int triangle_budget, float inner_radius, float outer_radius, float width, int teeth, float tooth_depth)
 -{
 -	int i, j, k;
 -	float r0, r1, r2;
 -	float da;
 -	float nx, ny, nz;
 -	int face;
 -	int segs = 4;
 -	int base_triangles = teeth * segs * 2 * 2;
 -	int divs0 = (triangle_budget / base_triangles) - 1;
 -	int divs = (divs0 > 0) ? divs0 : 1;
 -	float* c = (float*)malloc(teeth * segs * sizeof(float));
 -	float* s = (float*)malloc(teeth * segs * sizeof(float));
 -	float* dc = (float*)malloc(teeth * segs * divs * sizeof(float));
 -	float* ds = (float*)malloc(teeth * segs * divs * sizeof(float));
 -	int num_vertices = teeth * segs * 2 * (3 + 2 * divs);
 -	int num_triangles = base_triangles * (1 + divs);
 -	printf("Creating gear with %i teeth using %i vertices used in %i triangles\n", teeth, num_vertices, num_triangles);
 -	triangle_list_indices<> indices;
 -	std::vector<vertex> vertices;
 -
 -	r0 = inner_radius;
 -	r1 = outer_radius - tooth_depth / 2.0f;
 -	r2 = outer_radius + tooth_depth / 2.0f;
 -
 -	da = (float)(2.0 * M_PI / (teeth * segs * divs));
 -	for(i = 0; i < teeth * segs * divs; ++i) {
 -		float angle = da * i;
 -		ds[i] = sin(angle);
 -		dc[i] = cos(angle);
 -	}
 -
 -	for(i = 0; i < teeth * segs; ++i) {
 -		s[i] = ds[i * divs];
 -		c[i] = dc[i * divs];
 -	}
 -
 -	/* faces */
 -	for(face = -1; face <= 1; face += 2) {
 -		float z = width * face * 0.5f;
 -		nx = 0.0f;
 -		ny = 0.0f;
 -		nz = (float)face;
 -
 -		indices.flip = face > 0;
 -
 -		assert(segs == 4);
 -		for(i = 0; i < teeth; ++i) {
 -			VERT(r1 * c[segs * i], r1 * s[segs * i], z);
 -			VERT(r2 * c[segs * i + 1], r2 * s[segs * i + 1], z);
 -			VERT(r2 * c[segs * i + 2], r2 * s[segs * i + 2], z);
 -			VERT(r1 * c[segs * i + 3], r1 * s[segs * i + 3], z);
 -		}
 -
 -		for(i = 0; i < teeth * segs * divs; ++i) {
 -			VERT(r0 * dc[i], r0 * ds[i], z);
 -		}
 -
 -		for(i = 0; i < teeth; ++i) {
 -			for(j = i * segs; j < (i + 1) * segs; ++j) {
 -				int nextj = j + 1;
 -				if(nextj == teeth * segs)
 -					nextj = 0;
 -
 -				for(k = j * divs; k < (j + 1) * divs; ++k) {
 -					int nextk = k + 1;
 -					if(nextk == teeth * segs * divs)
 -						nextk = 0;
 -					indices.poly(teeth * segs + k, j, teeth * segs + nextk);
 -				}
 -
 -				indices.poly(teeth * segs + nextj * divs, j, nextj);
 -			}
 -		}
 -
 -		indices.base += teeth * segs * (1 + divs);
 -	}
 -
 -	/* teeth faces */
 -	indices.flip = true;
 -	float z = width * 0.5f;
 -
 -	float* coords = (float*)malloc((segs + 1) * 2 * sizeof(float));
 -	nz = 0;
 -	for(i = 0; i < teeth; i++) {
 -		int next = i + 1;
 -		if(next == teeth)
 -			next = 0;
 -
 -		coords[0] = r1 * c[segs * i];
 -		coords[1] = r1 * s[segs * i];
 -		coords[2] = r2 * c[segs * i + 1];
 -		coords[3] = r2 * s[segs * i + 1];
 -		coords[4] = r2 * c[segs * i + 2];
 -		coords[5] = r2 * s[segs * i + 2];
 -		coords[6] = r1 * c[segs * i + 3];
 -		coords[7] = r1 * s[segs * i + 3];
 -		coords[8] = r1 * c[segs * next];
 -		coords[9] = r1 * s[segs * next];
 -
 -		for(int j = 0; j < segs; ++j) {
 -			float dx = coords[j * 2] - coords[j * 2 + 2];
 -			float dy = coords[j * 2 + 1] - coords[j * 2 + 3];
 -			float len = hypotf(dx, dy);
 -			nx = -dy / len;
 -			ny = dx / len;
 -			VERT(coords[j * 2], coords[j * 2 + 1], z);
 -			VERT(coords[j * 2], coords[j * 2 + 1], -z);
 -			VERT(coords[j * 2 + 2], coords[j * 2 + 3], z);
 -			VERT(coords[j * 2 + 2], coords[j * 2 + 3], -z);
 -
 -			indices.poly(0, 1, 3, 2);
 -			indices.base += 4;
 -		}
 -	}
 -	free(coords);
 -
 -	/* inner part - simulate a cylinder */
 -	indices.flip = true;
 -	for(i = 0; i < teeth * segs * divs; i++) {
 -		int next = i + 1;
 -		if(next == teeth * segs * divs)
 -			next = 0;
 -
 -		nx = -dc[i];
 -		ny = -ds[i];
 -		VERT(r0 * dc[i], r0 * ds[i], -width * 0.5f);
 -		VERT(r0 * dc[i], r0 * ds[i], width * 0.5f);
 -
 -		indices.poly(i * 2, i * 2 + 1, next * 2 + 1, next * 2);
 -	}
 -
 -	indices.base += teeth * segs * divs * 2;
 -	free(c);
 -	free(s);
 -	free(dc);
 -	free(ds);
 -
 -	D3D11_INPUT_ELEMENT_DESC elements[2] =
 -	{
 -		{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0},
 -		{"NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0},
 -	};
 -
 -	return new mesh(dev, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
 -		elements, 2,
 -		g_vs, sizeof(g_vs),
 -		&vertices[0], sizeof(vertices[0]), vertices.size(),
 -		&indices[0], sizeof(indices[0]), indices.size());
 -}
 -
 -struct d3d11gears : public d3d11_application
 -{
 -	float view_rotx;
 -	float view_roty;
 -	float view_rotz;
 -	int wireframe;
 -	int triangles;
 -	float speed;
 -	float period;
 -	unsigned impressions;
 -	bool blue_only;
 -
 -	float last_time;
 -	
 -	int cur_width;
 -	int cur_height;
 -
 -	ID3D11DepthStencilView* zsv;
 -	ID3D11RenderTargetView* offscreen_rtv;
 -	ID3D11ShaderResourceView* offscreen_srv;
 -	
 -	ID3D11Device* dev;
 -	ID3D11BlendState* blend;
 -	ID3D11DepthStencilState* zsa;
 -
 -	ID3D11PixelShader* ps;
 -	ID3D11VertexShader* vs;
 -	ID3D11Buffer* cb;
 -
 -	d3d11_blitter* blitter;
 -
 -	d3d11gears()
 -		: cur_width(-1), cur_height(-1), zsv(0), offscreen_rtv(0), offscreen_srv(0)
 -	{
 -		view_rotx = (float)(M_PI / 9.0);
 -		view_roty = (float)(M_PI / 6.0);
 -		view_rotz = 0.0f;
 -		wireframe = 0;
 -		triangles = 3200;
 -		speed = 1.0f;
 -		period = -1.0f;
 -		impressions = 1;
 -		blue_only = false;
 -	}
 -
 -	void draw_one(ID3D11DeviceContext* ctx, cbuf_t& cbd, const float4x4& modelview, float angle)
 -	{
 -		for(unsigned i = blue_only ? 2 : 0; i < 3; ++i)
 -		{
 -			float4x4 m2 = modelview;
 -			m2 = mat_push_translate(m2, gears[i].x, gears[i].y, 0.0f);
 -			m2 = mat_push_rotate(m2, 2, angle * gears[i].wmul + gears[i].t0);
 -
 -			cbd.modelview = m2;
 -			cbd.diffuse = gears[i].color;
 -			cbd.specular = gears[i].color;
 -			cbd.specular_power = 5.0f;
 -
 -			ctx->UpdateSubresource(cb, 0, 0, &cbd, 0, 0);
 -
 -			gears[i].mesh->bind_and_draw(ctx);
 -		}
 -	}
 -
 -	float get_angle(double time)
 -	{
 -		// designed so that 1 = original glxgears speed
 -		float mod_speed = M_PI * 70.0f / 180.0f * speed;
 -		if(period < 0)
 -			return (float)(time * mod_speed);
 -		else
 -			return (float)(cos(time / period) * period * mod_speed);
 -	}
 -
 -	void init_for_dimensions(unsigned width, unsigned height)
 -	{
 -		if(zsv)
 -			zsv->Release();
 -		ID3D11Texture2D* zsbuf;
 -		D3D11_TEXTURE2D_DESC zsbufd;
 -		memset(&zsbufd, 0, sizeof(zsbufd));
 -		zsbufd.Width = width;
 -		zsbufd.Height = height;
 -		zsbufd.Format = DXGI_FORMAT_D24_UNORM_S8_UINT;
 -		zsbufd.ArraySize = 1;
 -		zsbufd.MipLevels = 1;
 -		zsbufd.SampleDesc.Count = 1;
 -		zsbufd.BindFlags = D3D11_BIND_DEPTH_STENCIL;
 -		ensure(dev->CreateTexture2D(&zsbufd, 0, &zsbuf));
 -		ensure(dev->CreateDepthStencilView(zsbuf, 0, &zsv));
 -		zsbuf->Release();
 -
 -		ID3D11Texture2D* offscreen;
 -		if(offscreen_rtv)
 -		{
 -			offscreen_rtv->Release();
 -			offscreen_srv->Release();
 -			offscreen_rtv = 0;
 -			offscreen_srv = 0;
 -		}
 -
 -		if(impressions > 1)
 -		{
 -			DXGI_FORMAT formats[] = {
 -				DXGI_FORMAT_R32G32B32A32_FLOAT,
 -				DXGI_FORMAT_R16G16B16A16_UNORM,
 -				DXGI_FORMAT_R16G16B16A16_FLOAT,
 -				DXGI_FORMAT_R10G10B10A2_UNORM,
 -			};
 -			DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM; // this won't work well at all
 -			unsigned needed_support = D3D11_FORMAT_SUPPORT_RENDER_TARGET | D3D11_FORMAT_SUPPORT_BLENDABLE | D3D11_FORMAT_SUPPORT_SHADER_SAMPLE;
 -			for(unsigned i = 0; i < sizeof(formats); ++i)
 -			{	
 -				unsigned support;
 -				dev->CheckFormatSupport(DXGI_FORMAT_R32G32B32A32_FLOAT, &support);
 -				if((support & needed_support) == needed_support)
 -				{
 -					format = formats[i];
 -					break;
 -				}
 -			}
 -				
 -
 -			D3D11_TEXTURE2D_DESC offscreend;
 -			memset(&offscreend, 0, sizeof(offscreend));
 -			offscreend.Width = width;
 -			offscreend.Height = height;
 -				
 -			offscreend.Format = format;
 -			offscreend.MipLevels = 1;
 -			offscreend.ArraySize = 1;
 -			offscreend.SampleDesc.Count = 1;
 -			offscreend.BindFlags = D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET;
 -			ensure(dev->CreateTexture2D(&offscreend, 0, &offscreen));
 -			ensure(dev->CreateRenderTargetView(offscreen, 0, &offscreen_rtv));
 -			ensure(dev->CreateShaderResourceView(offscreen, 0, &offscreen_srv));
 -			offscreen->Release();
 -		}
 -
 -		cur_width = width;
 -		cur_height = height;
 -	}
 -
 -	void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time)
 -	{
 -		D3D11_VIEWPORT vp;
 -		memset(&vp, 0, sizeof(vp));
 -		vp.Width = (float)width;
 -		vp.Height = (float)height;
 -		vp.MaxDepth = 1.0f;
 -
 -		if((int)width != cur_width || (int)height != cur_height)
 -			init_for_dimensions(width, height);
 -
 -		float4 lightpos = vec(5.0f, 5.0f, 10.0f, 0.0f);
 -		float black[4] = {0.0, 0.0, 0.0, 0};
 -
 -		float4x4 proj;
 -		float4x4 m;
 -
 -		float xr = (float)width / (float)height;
 -		float yr = 1.0f;
 -		if(xr < 1.0f) {
 -			yr /= xr;
 -			xr = 1.0f;
 -		}
 -		proj = mat4x4_frustum(-xr, xr, -yr, yr, 5.0f, 60.0f);
 -
 -		m = mat4x4_diag(1.0f);
 -		m = mat_push_translate(m, 0.0f, 0.0f, -40.0f);
 -		m = mat_push_rotate(m, 0, view_rotx);
 -		m = mat_push_rotate(m, 1, view_roty);
 -		m = mat_push_rotate(m, 2, view_rotz);
 -
 -		cbuf_t cbd;
 -
 -		cbd.projection = proj;
 -		cbd.light = lightpos;
 -
 -		float blend_factor[4] = {1.0f / (float)impressions, 1.0f / (float)impressions, 1.0f / (float)impressions, 1.0f / (float)impressions};
 -
 -		ID3D11RenderTargetView* render_rtv;
 -		if(impressions == 1)
 -			render_rtv = rtv;
 -		else
 -			render_rtv = offscreen_rtv;
 -
 -		ctx->RSSetViewports(1, &vp);
 -		ctx->ClearRenderTargetView(render_rtv, black);
 -		
 -		ctx->PSSetShader(ps, 0, 0);
 -		ctx->VSSetShader(vs, 0, 0);
 -
 -		ctx->PSSetConstantBuffers(0, 1, &cb);
 -		ctx->VSSetConstantBuffers(0, 1, &cb);
 -
 -		if(impressions == 1)
 -		{
 -			ctx->OMSetBlendState(0, 0, ~0);
 -			ctx->OMSetDepthStencilState(0, 0);
 -			ctx->OMSetRenderTargets(1, &rtv, zsv);
 -			ctx->ClearDepthStencilView(zsv, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0, 0);
 -			draw_one(ctx, cbd, m, get_angle(time));
 -		}
 -		else
 -		{
 -			ctx->OMSetBlendState(blend, blend_factor, ~0);
 -
 -			float time_delta = (float)time - last_time;
 -			float time_delta_per_impression = time_delta / impressions;
 -			float base_time = last_time + time_delta_per_impression / 2;
 -			for(unsigned impression = 0; impression < impressions; ++impression)
 -			{
 -				float impression_time = base_time + time_delta_per_impression * impression;
 -
 -				ctx->ClearDepthStencilView(zsv, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0, 0);
 -
 -				// do early z-pass since we must not write any pixel more than once due to blending
 -				for(unsigned pass = 0; pass < 2; ++pass)
 -				{
 -					if(pass == 0)
 -					{
 -						ctx->OMSetRenderTargets(0, 0, zsv);
 -						ctx->OMSetDepthStencilState(0, 0);
 -					}
 -					else
 -					{
 -						ctx->OMSetRenderTargets(1, &render_rtv, zsv);
 -						ctx->OMSetDepthStencilState(zsa, 0);
 -					}
 -
 -					draw_one(ctx, cbd, m, get_angle(impression_time));
 -				}
 -			}
 -
 -			blitter->bind_draw_and_unbind(ctx, offscreen_srv, rtv, 0, 0, (float)width, (float)height, false);
 -		}
 -		last_time = (float)time;
 -	}
 -
 -	bool init(ID3D11Device* dev, int argc, char** argv)
 -	{
 -		this->dev = dev;
 -
 -		for(char** p = argv + 1; *p; ++p) {
 -			if(!strcmp(*p, "-w"))
 -				wireframe = 1;
 -			else if(!strcmp(*p, "-b"))
 -				blue_only = true;
 -			else if(!strcmp(*p, "-t"))
 -				triangles = atoi(*++p);
 -			else if(!strcmp(*p, "-m"))
 -				impressions = (float)atof(*++p);
 -			else if(!strcmp(*p, "-p"))
 -				period = (float)atof(*++p);
 -			else if(!strcmp(*p, "-s"))
 -				speed = (float)atof(*++p);
 -			else {
 -				fprintf(stderr, "Usage: d3d11gears [-v|-w] [-t TRIANGLES]\n");
 -				fprintf(stderr, "d3d11gears is an enhanced port of glxgears to Direct3D 11\n");
 -				fprintf(stderr, "\n");
 -				//fprintf(stderr, "-v\t\tuse per-vertex diffuse-only lighting (classic glxgears look)\n");
 -				fprintf(stderr, "-w\t\twireframe mode\n");
 -				fprintf(stderr, "-t TRIANGLES\ttriangle budget (default is 3200)\n");
 -				fprintf(stderr, "-m IMPRESSIONS\tmotion blur impressions (default is 1)\n");
 -				fprintf(stderr, "-p PERIOD\tspeed reversal period (default is infinite)\n");
 -				fprintf(stderr, "-s SPEED\tgear speed (default is 1.0)\n");
 -				fprintf(stderr, "-b\tonly show blue gear (for faster motion blur)\n");
 -				return false;
 -			}
 -		}
 -
 -		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), NULL, &ps));
 -		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), NULL, &vs));
 -
 -		gears[0].color = vec(0.8f, 0.1f, 0.0f, 1.0f);
 -		gears[1].color = vec(0.0f, 0.8f, 0.2f, 1.0f);
 -		gears[2].color = vec(0.2f, 0.2f, 1.0f, 1.0f);
 -
 -		gears[0].mesh = build_gear(dev, triangles / 2, 1.0f, 4.0f, 1.0f, 20, 0.7f);
 -		gears[1].mesh = build_gear(dev, triangles / 4, 0.5f, 2.0f, 2.0f, 10, 0.7f);
 -		gears[2].mesh = build_gear(dev, triangles / 4, 1.3f, 2.0f, 0.5f, 10, 0.7f);
 -
 -		gears[0].x = -3.0f;
 -		gears[0].y = -2.0f;
 -		gears[0].wmul = 1.0f;
 -		gears[0].t0 = 0.0 * M_PI / 180.0f;
 -
 -		gears[1].x = 3.1f;
 -		gears[1].y = -2.0f;
 -		gears[1].wmul = -2.0f;
 -		gears[1].t0 = -9.0f * (float)M_PI / 180.0f;
 -
 -		gears[2].x = -3.1f;
 -		gears[2].y = 4.2f;
 -		gears[2].wmul = -2.0f;
 -		gears[2].t0 = -25.0f * (float)M_PI / 180.0f;
 -
 -		D3D11_BUFFER_DESC bufferd;
 -		memset(&bufferd, 0, sizeof(bufferd));
 -		bufferd.ByteWidth = sizeof(cbuf_t);
 -		bufferd.Usage = D3D11_USAGE_DEFAULT;
 -		bufferd.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
 -		ensure(dev->CreateBuffer(&bufferd, 0, &cb));
 -
 -		if(impressions > 1)
 -		{
 -			D3D11_BLEND_DESC blendd;
 -			memset(&blendd, 0, sizeof(blendd));
 -			blendd.RenderTarget[0].BlendEnable = TRUE;
 -			blendd.RenderTarget[0].BlendOp = blendd.RenderTarget[0].BlendOpAlpha
 -				= D3D11_BLEND_OP_ADD;
 -			blendd.RenderTarget[0].SrcBlend = blendd.RenderTarget[0].SrcBlendAlpha
 -				= D3D11_BLEND_BLEND_FACTOR;
 -			blendd.RenderTarget[0].DestBlend = blendd.RenderTarget[0].DestBlendAlpha
 -				= D3D11_BLEND_ONE;
 -			blendd.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
 -			ensure(dev->CreateBlendState(&blendd, &blend));
 -
 -			D3D11_DEPTH_STENCIL_DESC zsad;
 -			memset(&zsad, 0, sizeof(zsad));
 -			zsad.DepthEnable = TRUE;
 -			zsad.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ZERO;
 -			zsad.DepthFunc = D3D11_COMPARISON_EQUAL;
 -			ensure(dev->CreateDepthStencilState(&zsad, &zsa));
 -
 -			blitter = new d3d11_blitter(dev);
 -		}
 -			
 -		return true;
 -	}
 -};
 -
 -d3d11_application* d3d11_application_create()
 -{
 -	return new d3d11gears();
 -}
 +/* +* Copyright (C) 1999-2001 Brian Paul All Rights Reserved. +* Copyright (C) 2009-2010 Luca Barbieri All Rights Reserved. +* +* Permission is hereby granted, free of charge, to any person obtaining a +* copy of this software and associated documentation files (the "Software"), +* to deal in the Software without restriction, including without limitation +* the rights to use, copy, modify, merge, publish, distribute, sublicense, +* and/or sell copies of the Software, and to permit persons to whom the +* Software is furnished to do so, subject to the following conditions: +*. +* The above copyright notice and this permission notice shall be included +* in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* +* This is a port of the infamous "glxgears" demo to straight EGL +* Port by Dane Rushton 10 July 2005 +* +* This a rewrite of the 'eglgears' demo in straight Gallium +* Port by Luca Barbieri +* +* This a port of the 'galliumgears' demo to Direct3D 11 +* Port by Luca Barbieri +*/ + +#define _USE_MATH_DEFINES +#include "d3d11app.h" +#include "d3d11u.h" +#include "d3d11gears.hlsl.ps.h" +#include "d3d11gears.hlsl.vs.h" + +#include <stdlib.h> +#include <stdio.h> +#include <math.h> +#include <float.h> + +struct gear +{ +	struct mesh* mesh; +	float x; +	float y; +	float t0; +	float wmul; +	float4 color; +}; + +struct cbuf_t +{ +	float4x4 projection; +	float4x4 modelview; +	float4 light; +	float4 diffuse; +	float4 specular; +	float specular_power; +	float padding[3]; +}; + +struct gear gears[3]; + +struct vertex +{ +	float position[3]; +	float normal[3]; + +	vertex(float x, float y, float z, float nx, float ny, float nz) +	{ +		position[0] = x; +		position[1] = y; +		position[2] = z; +		normal[0] = nx; +		normal[1] = ny; +		normal[2] = nz; +	} +}; + +#define VERT(x, y, z) vertices.push_back(vertex((x), (y), (z), (nx), (ny), (nz))) + +static mesh* build_gear(ID3D11Device* dev, int triangle_budget, float inner_radius, float outer_radius, float width, int teeth, float tooth_depth) +{ +	int i, j, k; +	float r0, r1, r2; +	float da; +	float nx, ny, nz; +	int face; +	int segs = 4; +	int base_triangles = teeth * segs * 2 * 2; +	int divs0 = (triangle_budget / base_triangles) - 1; +	int divs = (divs0 > 0) ? divs0 : 1; +	float* c = (float*)malloc(teeth * segs * sizeof(float)); +	float* s = (float*)malloc(teeth * segs * sizeof(float)); +	float* dc = (float*)malloc(teeth * segs * divs * sizeof(float)); +	float* ds = (float*)malloc(teeth * segs * divs * sizeof(float)); +	int num_vertices = teeth * segs * 2 * (3 + 2 * divs); +	int num_triangles = base_triangles * (1 + divs); +	printf("Creating gear with %i teeth using %i vertices used in %i triangles\n", teeth, num_vertices, num_triangles); +	triangle_list_indices<> indices; +	std::vector<vertex> vertices; + +	r0 = inner_radius; +	r1 = outer_radius - tooth_depth / 2.0f; +	r2 = outer_radius + tooth_depth / 2.0f; + +	da = (float)(2.0 * M_PI / (teeth * segs * divs)); +	for(i = 0; i < teeth * segs * divs; ++i) { +		float angle = da * i; +		ds[i] = sin(angle); +		dc[i] = cos(angle); +	} + +	for(i = 0; i < teeth * segs; ++i) { +		s[i] = ds[i * divs]; +		c[i] = dc[i * divs]; +	} + +	/* faces */ +	for(face = -1; face <= 1; face += 2) { +		float z = width * face * 0.5f; +		nx = 0.0f; +		ny = 0.0f; +		nz = (float)face; + +		indices.flip = face > 0; + +		assert(segs == 4); +		for(i = 0; i < teeth; ++i) { +			VERT(r1 * c[segs * i], r1 * s[segs * i], z); +			VERT(r2 * c[segs * i + 1], r2 * s[segs * i + 1], z); +			VERT(r2 * c[segs * i + 2], r2 * s[segs * i + 2], z); +			VERT(r1 * c[segs * i + 3], r1 * s[segs * i + 3], z); +		} + +		for(i = 0; i < teeth * segs * divs; ++i) { +			VERT(r0 * dc[i], r0 * ds[i], z); +		} + +		for(i = 0; i < teeth; ++i) { +			for(j = i * segs; j < (i + 1) * segs; ++j) { +				int nextj = j + 1; +				if(nextj == teeth * segs) +					nextj = 0; + +				for(k = j * divs; k < (j + 1) * divs; ++k) { +					int nextk = k + 1; +					if(nextk == teeth * segs * divs) +						nextk = 0; +					indices.poly(teeth * segs + k, j, teeth * segs + nextk); +				} + +				indices.poly(teeth * segs + nextj * divs, j, nextj); +			} +		} + +		indices.base += teeth * segs * (1 + divs); +	} + +	/* teeth faces */ +	indices.flip = true; +	float z = width * 0.5f; + +	float* coords = (float*)malloc((segs + 1) * 2 * sizeof(float)); +	nz = 0; +	for(i = 0; i < teeth; i++) { +		int next = i + 1; +		if(next == teeth) +			next = 0; + +		coords[0] = r1 * c[segs * i]; +		coords[1] = r1 * s[segs * i]; +		coords[2] = r2 * c[segs * i + 1]; +		coords[3] = r2 * s[segs * i + 1]; +		coords[4] = r2 * c[segs * i + 2]; +		coords[5] = r2 * s[segs * i + 2]; +		coords[6] = r1 * c[segs * i + 3]; +		coords[7] = r1 * s[segs * i + 3]; +		coords[8] = r1 * c[segs * next]; +		coords[9] = r1 * s[segs * next]; + +		for(int j = 0; j < segs; ++j) { +			float dx = coords[j * 2] - coords[j * 2 + 2]; +			float dy = coords[j * 2 + 1] - coords[j * 2 + 3]; +			float len = hypotf(dx, dy); +			nx = -dy / len; +			ny = dx / len; +			VERT(coords[j * 2], coords[j * 2 + 1], z); +			VERT(coords[j * 2], coords[j * 2 + 1], -z); +			VERT(coords[j * 2 + 2], coords[j * 2 + 3], z); +			VERT(coords[j * 2 + 2], coords[j * 2 + 3], -z); + +			indices.poly(0, 1, 3, 2); +			indices.base += 4; +		} +	} +	free(coords); + +	/* inner part - simulate a cylinder */ +	indices.flip = true; +	for(i = 0; i < teeth * segs * divs; i++) { +		int next = i + 1; +		if(next == teeth * segs * divs) +			next = 0; + +		nx = -dc[i]; +		ny = -ds[i]; +		VERT(r0 * dc[i], r0 * ds[i], -width * 0.5f); +		VERT(r0 * dc[i], r0 * ds[i], width * 0.5f); + +		indices.poly(i * 2, i * 2 + 1, next * 2 + 1, next * 2); +	} + +	indices.base += teeth * segs * divs * 2; +	free(c); +	free(s); +	free(dc); +	free(ds); + +	D3D11_INPUT_ELEMENT_DESC elements[2] = +	{ +		{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0}, +		{"NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0}, +	}; + +	return new mesh(dev, D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST, +		elements, 2, +		g_vs, sizeof(g_vs), +		&vertices[0], sizeof(vertices[0]), vertices.size(), +		&indices[0], sizeof(indices[0]), indices.size()); +} + +struct d3d11gears : public d3d11_application +{ +	float view_rotx; +	float view_roty; +	float view_rotz; +	int wireframe; +	int triangles; +	float speed; +	float period; +	unsigned impressions; +	bool blue_only; + +	float last_time; +	 +	int cur_width; +	int cur_height; + +	ID3D11DepthStencilView* zsv; +	ID3D11RenderTargetView* offscreen_rtv; +	ID3D11ShaderResourceView* offscreen_srv; +	 +	ID3D11Device* dev; +	ID3D11BlendState* blend; +	ID3D11DepthStencilState* zsa; + +	ID3D11PixelShader* ps; +	ID3D11VertexShader* vs; +	ID3D11Buffer* cb; + +	d3d11_blitter* blitter; + +	d3d11gears() +		: cur_width(-1), cur_height(-1), zsv(0), offscreen_rtv(0), offscreen_srv(0) +	{ +		view_rotx = (float)(M_PI / 9.0); +		view_roty = (float)(M_PI / 6.0); +		view_rotz = 0.0f; +		wireframe = 0; +		triangles = 3200; +		speed = 1.0f; +		period = -1.0f; +		impressions = 1; +		blue_only = false; +	} + +	void draw_one(ID3D11DeviceContext* ctx, cbuf_t& cbd, const float4x4& modelview, float angle) +	{ +		for(unsigned i = blue_only ? 2 : 0; i < 3; ++i) +		{ +			float4x4 m2 = modelview; +			m2 = mat_push_translate(m2, gears[i].x, gears[i].y, 0.0f); +			m2 = mat_push_rotate(m2, 2, angle * gears[i].wmul + gears[i].t0); + +			cbd.modelview = m2; +			cbd.diffuse = gears[i].color; +			cbd.specular = gears[i].color; +			cbd.specular_power = 5.0f; + +			ctx->UpdateSubresource(cb, 0, 0, &cbd, 0, 0); + +			gears[i].mesh->bind_and_draw(ctx); +		} +	} + +	float get_angle(double time) +	{ +		// designed so that 1 = original glxgears speed +		float mod_speed = M_PI * 70.0f / 180.0f * speed; +		if(period < 0) +			return (float)(time * mod_speed); +		else +			return (float)(cos(time / period) * period * mod_speed); +	} + +	void init_for_dimensions(unsigned width, unsigned height) +	{ +		if(zsv) +			zsv->Release(); +		ID3D11Texture2D* zsbuf; +		D3D11_TEXTURE2D_DESC zsbufd; +		memset(&zsbufd, 0, sizeof(zsbufd)); +		zsbufd.Width = width; +		zsbufd.Height = height; +		zsbufd.Format = DXGI_FORMAT_D24_UNORM_S8_UINT; +		zsbufd.ArraySize = 1; +		zsbufd.MipLevels = 1; +		zsbufd.SampleDesc.Count = 1; +		zsbufd.BindFlags = D3D11_BIND_DEPTH_STENCIL; +		ensure(dev->CreateTexture2D(&zsbufd, 0, &zsbuf)); +		ensure(dev->CreateDepthStencilView(zsbuf, 0, &zsv)); +		zsbuf->Release(); + +		ID3D11Texture2D* offscreen; +		if(offscreen_rtv) +		{ +			offscreen_rtv->Release(); +			offscreen_srv->Release(); +			offscreen_rtv = 0; +			offscreen_srv = 0; +		} + +		if(impressions > 1) +		{ +			DXGI_FORMAT formats[] = { +				DXGI_FORMAT_R32G32B32A32_FLOAT, +				DXGI_FORMAT_R16G16B16A16_UNORM, +				DXGI_FORMAT_R16G16B16A16_FLOAT, +				DXGI_FORMAT_R10G10B10A2_UNORM, +			}; +			DXGI_FORMAT format = DXGI_FORMAT_R8G8B8A8_UNORM; // this won't work well at all +			unsigned needed_support = D3D11_FORMAT_SUPPORT_RENDER_TARGET | D3D11_FORMAT_SUPPORT_BLENDABLE | D3D11_FORMAT_SUPPORT_SHADER_SAMPLE; +			for(unsigned i = 0; i < sizeof(formats); ++i) +			{	 +				unsigned support; +				dev->CheckFormatSupport(DXGI_FORMAT_R32G32B32A32_FLOAT, &support); +				if((support & needed_support) == needed_support) +				{ +					format = formats[i]; +					break; +				} +			} +				 + +			D3D11_TEXTURE2D_DESC offscreend; +			memset(&offscreend, 0, sizeof(offscreend)); +			offscreend.Width = width; +			offscreend.Height = height; +				 +			offscreend.Format = format; +			offscreend.MipLevels = 1; +			offscreend.ArraySize = 1; +			offscreend.SampleDesc.Count = 1; +			offscreend.BindFlags = D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET; +			ensure(dev->CreateTexture2D(&offscreend, 0, &offscreen)); +			ensure(dev->CreateRenderTargetView(offscreen, 0, &offscreen_rtv)); +			ensure(dev->CreateShaderResourceView(offscreen, 0, &offscreen_srv)); +			offscreen->Release(); +		} + +		cur_width = width; +		cur_height = height; +	} + +	void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time) +	{ +		D3D11_VIEWPORT vp; +		memset(&vp, 0, sizeof(vp)); +		vp.Width = (float)width; +		vp.Height = (float)height; +		vp.MaxDepth = 1.0f; + +		if((int)width != cur_width || (int)height != cur_height) +			init_for_dimensions(width, height); + +		float4 lightpos = vec(5.0f, 5.0f, 10.0f, 0.0f); +		float black[4] = {0.0, 0.0, 0.0, 0}; + +		float4x4 proj; +		float4x4 m; + +		float xr = (float)width / (float)height; +		float yr = 1.0f; +		if(xr < 1.0f) { +			yr /= xr; +			xr = 1.0f; +		} +		proj = mat4x4_frustum(-xr, xr, -yr, yr, 5.0f, 60.0f); + +		m = mat4x4_diag(1.0f); +		m = mat_push_translate(m, 0.0f, 0.0f, -40.0f); +		m = mat_push_rotate(m, 0, view_rotx); +		m = mat_push_rotate(m, 1, view_roty); +		m = mat_push_rotate(m, 2, view_rotz); + +		cbuf_t cbd; + +		cbd.projection = proj; +		cbd.light = lightpos; + +		float blend_factor[4] = {1.0f / (float)impressions, 1.0f / (float)impressions, 1.0f / (float)impressions, 1.0f / (float)impressions}; + +		ID3D11RenderTargetView* render_rtv; +		if(impressions == 1) +			render_rtv = rtv; +		else +			render_rtv = offscreen_rtv; + +		ctx->RSSetViewports(1, &vp); +		ctx->ClearRenderTargetView(render_rtv, black); +		 +		ctx->PSSetShader(ps, 0, 0); +		ctx->VSSetShader(vs, 0, 0); + +		ctx->PSSetConstantBuffers(0, 1, &cb); +		ctx->VSSetConstantBuffers(0, 1, &cb); + +		if(impressions == 1) +		{ +			ctx->OMSetBlendState(0, 0, ~0); +			ctx->OMSetDepthStencilState(0, 0); +			ctx->OMSetRenderTargets(1, &rtv, zsv); +			ctx->ClearDepthStencilView(zsv, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0, 0); +			draw_one(ctx, cbd, m, get_angle(time)); +		} +		else +		{ +			ctx->OMSetBlendState(blend, blend_factor, ~0); + +			float time_delta = (float)time - last_time; +			float time_delta_per_impression = time_delta / impressions; +			float base_time = last_time + time_delta_per_impression / 2; +			for(unsigned impression = 0; impression < impressions; ++impression) +			{ +				float impression_time = base_time + time_delta_per_impression * impression; + +				ctx->ClearDepthStencilView(zsv, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0, 0); + +				// do early z-pass since we must not write any pixel more than once due to blending +				for(unsigned pass = 0; pass < 2; ++pass) +				{ +					if(pass == 0) +					{ +						ctx->OMSetRenderTargets(0, 0, zsv); +						ctx->OMSetDepthStencilState(0, 0); +					} +					else +					{ +						ctx->OMSetRenderTargets(1, &render_rtv, zsv); +						ctx->OMSetDepthStencilState(zsa, 0); +					} + +					draw_one(ctx, cbd, m, get_angle(impression_time)); +				} +			} + +			blitter->bind_draw_and_unbind(ctx, offscreen_srv, rtv, 0, 0, (float)width, (float)height, false); +		} +		last_time = (float)time; +	} + +	bool init(ID3D11Device* dev, int argc, char** argv) +	{ +		this->dev = dev; + +		for(char** p = argv + 1; *p; ++p) { +			if(!strcmp(*p, "-w")) +				wireframe = 1; +			else if(!strcmp(*p, "-b")) +				blue_only = true; +			else if(!strcmp(*p, "-t")) +				triangles = atoi(*++p); +			else if(!strcmp(*p, "-m")) +				impressions = (float)atof(*++p); +			else if(!strcmp(*p, "-p")) +				period = (float)atof(*++p); +			else if(!strcmp(*p, "-s")) +				speed = (float)atof(*++p); +			else { +				fprintf(stderr, "Usage: d3d11gears [-v|-w] [-t TRIANGLES]\n"); +				fprintf(stderr, "d3d11gears is an enhanced port of glxgears to Direct3D 11\n"); +				fprintf(stderr, "\n"); +				//fprintf(stderr, "-v\t\tuse per-vertex diffuse-only lighting (classic glxgears look)\n"); +				fprintf(stderr, "-w\t\twireframe mode\n"); +				fprintf(stderr, "-t TRIANGLES\ttriangle budget (default is 3200)\n"); +				fprintf(stderr, "-m IMPRESSIONS\tmotion blur impressions (default is 1)\n"); +				fprintf(stderr, "-p PERIOD\tspeed reversal period (default is infinite)\n"); +				fprintf(stderr, "-s SPEED\tgear speed (default is 1.0)\n"); +				fprintf(stderr, "-b\tonly show blue gear (for faster motion blur)\n"); +				return false; +			} +		} + +		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), NULL, &ps)); +		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), NULL, &vs)); + +		gears[0].color = vec(0.8f, 0.1f, 0.0f, 1.0f); +		gears[1].color = vec(0.0f, 0.8f, 0.2f, 1.0f); +		gears[2].color = vec(0.2f, 0.2f, 1.0f, 1.0f); + +		gears[0].mesh = build_gear(dev, triangles / 2, 1.0f, 4.0f, 1.0f, 20, 0.7f); +		gears[1].mesh = build_gear(dev, triangles / 4, 0.5f, 2.0f, 2.0f, 10, 0.7f); +		gears[2].mesh = build_gear(dev, triangles / 4, 1.3f, 2.0f, 0.5f, 10, 0.7f); + +		gears[0].x = -3.0f; +		gears[0].y = -2.0f; +		gears[0].wmul = 1.0f; +		gears[0].t0 = 0.0 * M_PI / 180.0f; + +		gears[1].x = 3.1f; +		gears[1].y = -2.0f; +		gears[1].wmul = -2.0f; +		gears[1].t0 = -9.0f * (float)M_PI / 180.0f; + +		gears[2].x = -3.1f; +		gears[2].y = 4.2f; +		gears[2].wmul = -2.0f; +		gears[2].t0 = -25.0f * (float)M_PI / 180.0f; + +		D3D11_BUFFER_DESC bufferd; +		memset(&bufferd, 0, sizeof(bufferd)); +		bufferd.ByteWidth = sizeof(cbuf_t); +		bufferd.Usage = D3D11_USAGE_DEFAULT; +		bufferd.BindFlags = D3D11_BIND_CONSTANT_BUFFER; +		ensure(dev->CreateBuffer(&bufferd, 0, &cb)); + +		if(impressions > 1) +		{ +			D3D11_BLEND_DESC blendd; +			memset(&blendd, 0, sizeof(blendd)); +			blendd.RenderTarget[0].BlendEnable = TRUE; +			blendd.RenderTarget[0].BlendOp = blendd.RenderTarget[0].BlendOpAlpha +				= D3D11_BLEND_OP_ADD; +			blendd.RenderTarget[0].SrcBlend = blendd.RenderTarget[0].SrcBlendAlpha +				= D3D11_BLEND_BLEND_FACTOR; +			blendd.RenderTarget[0].DestBlend = blendd.RenderTarget[0].DestBlendAlpha +				= D3D11_BLEND_ONE; +			blendd.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL; +			ensure(dev->CreateBlendState(&blendd, &blend)); + +			D3D11_DEPTH_STENCIL_DESC zsad; +			memset(&zsad, 0, sizeof(zsad)); +			zsad.DepthEnable = TRUE; +			zsad.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ZERO; +			zsad.DepthFunc = D3D11_COMPARISON_EQUAL; +			ensure(dev->CreateDepthStencilState(&zsad, &zsa)); + +			blitter = new d3d11_blitter(dev); +		} +			 +		return true; +	} +}; + +d3d11_application* d3d11_application_create() +{ +	return new d3d11gears(); +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.hlsl.ps.h b/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.hlsl.ps.h index 890b1af276..e83b5bb5a8 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.hlsl.ps.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.hlsl.ps.h @@ -1,309 +1,309 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11gears.hlsl.ps.h /Eps /Tps_4_0 d3d11gears.hlsl
 -//
 -//
 -// Buffer Definitions: 
 -//
 -// cbuffer cb
 -// {
 -//
 -//   float4x4 proj;                     // Offset:    0 Size:    64 [unused]
 -//   float4x4 modelview;                // Offset:   64 Size:    64 [unused]
 -//   float4 light;                      // Offset:  128 Size:    16 [unused]
 -//   float4 diffuse;                    // Offset:  144 Size:    16
 -//   float4 specular;                   // Offset:  160 Size:    16
 -//   float specular_power;              // Offset:  176 Size:     4
 -//
 -// }
 -//
 -//
 -// Resource Bindings:
 -//
 -// Name                                 Type  Format         Dim Slot Elements
 -// ------------------------------ ---------- ------- ----------- ---- --------
 -// cb                                cbuffer      NA          NA    0        1
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float       
 -// NORMAL                   0   xyz         1     NONE  float   xyz 
 -// EYE                      0   xyz         2     NONE  float   xyz 
 -// LIGHT                    0   xyz         3     NONE  float   xyz 
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_TARGET                0   xyzw        0   TARGET  float   xyzw
 -//
 -ps_4_0
 -dcl_constantbuffer cb0[12], immediateIndexed
 -dcl_input_ps linear v1.xyz
 -dcl_input_ps linear v2.xyz
 -dcl_input_ps linear v3.xyz
 -dcl_output o0.xyzw
 -dcl_temps 3
 -dp3 r0.x, v2.xyzx, v2.xyzx
 -rsq r0.x, r0.x
 -dp3 r0.y, v3.xyzx, v3.xyzx
 -rsq r0.y, r0.y
 -mul r0.yzw, r0.yyyy, v3.xxyz
 -mad r1.xyz, v2.xyzx, r0.xxxx, r0.yzwy
 -dp3 r0.x, r1.xyzx, r1.xyzx
 -rsq r0.x, r0.x
 -mul r1.xyz, r0.xxxx, r1.xyzx
 -dp3 r0.x, v1.xyzx, v1.xyzx
 -rsq r0.x, r0.x
 -mul r2.xyz, r0.xxxx, v1.xyzx
 -dp3_sat r0.x, r2.xyzx, r1.xyzx
 -dp3_sat r0.y, r2.xyzx, r0.yzwy
 -log r0.x, r0.x
 -mul r0.x, r0.x, cb0[11].x
 -exp r0.x, r0.x
 -mul r1.xyzw, r0.xxxx, cb0[10].xyzw
 -mad o0.xyzw, cb0[9].xyzw, r0.yyyy, r1.xyzw
 -ret 
 -// Approximately 20 instruction slots used
 -#endif
 -
 -const BYTE g_ps[] =
 -{
 -     68,  88,  66,  67,  91,  23, 
 -    206, 102,  23,  38, 122,  59, 
 -     55, 123, 215,  57,  98, 213, 
 -    215, 191,   1,   0,   0,   0, 
 -     92,   5,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    192,   1,   0,   0,  80,   2, 
 -      0,   0, 132,   2,   0,   0, 
 -    224,   4,   0,   0,  82,  68, 
 -     69,  70, 132,   1,   0,   0, 
 -      1,   0,   0,   0,  64,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    255, 255,   0,   1,   0,   0, 
 -     80,   1,   0,   0,  60,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     99,  98,   0, 171,  60,   0, 
 -      0,   0,   6,   0,   0,   0, 
 -     88,   0,   0,   0, 192,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0, 232,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     64,   0,   0,   0,   0,   0, 
 -      0,   0, 240,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   1, 
 -      0,   0,  64,   0,   0,   0, 
 -     64,   0,   0,   0,   0,   0, 
 -      0,   0, 240,   0,   0,   0, 
 -      0,   0,   0,   0,  10,   1, 
 -      0,   0, 128,   0,   0,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -      0,   0,  16,   1,   0,   0, 
 -      0,   0,   0,   0,  32,   1, 
 -      0,   0, 144,   0,   0,   0, 
 -     16,   0,   0,   0,   2,   0, 
 -      0,   0,  16,   1,   0,   0, 
 -      0,   0,   0,   0,  40,   1, 
 -      0,   0, 160,   0,   0,   0, 
 -     16,   0,   0,   0,   2,   0, 
 -      0,   0,  16,   1,   0,   0, 
 -      0,   0,   0,   0,  49,   1, 
 -      0,   0, 176,   0,   0,   0, 
 -      4,   0,   0,   0,   2,   0, 
 -      0,   0,  64,   1,   0,   0, 
 -      0,   0,   0,   0, 112, 114, 
 -    111, 106,   0, 171, 171, 171, 
 -      3,   0,   3,   0,   4,   0, 
 -      4,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0, 109, 111, 
 -    100, 101, 108, 118, 105, 101, 
 -    119,   0, 108, 105, 103, 104, 
 -    116,   0,   1,   0,   3,   0, 
 -      1,   0,   4,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -    100, 105, 102, 102, 117, 115, 
 -    101,   0, 115, 112, 101,  99, 
 -    117, 108,  97, 114,   0, 115, 
 -    112, 101,  99, 117, 108,  97, 
 -    114,  95, 112, 111, 119, 101, 
 -    114,   0,   0,   0,   3,   0, 
 -      1,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     77, 105,  99, 114, 111, 115, 
 -    111, 102, 116,  32,  40,  82, 
 -     41,  32,  72,  76,  83,  76, 
 -     32,  83, 104,  97, 100, 101, 
 -    114,  32,  67, 111, 109, 112, 
 -    105, 108, 101, 114,  32,  57, 
 -     46,  50,  57,  46,  57,  53, 
 -     50,  46,  51,  49,  49,  49, 
 -      0, 171, 171, 171,  73,  83, 
 -     71,  78, 136,   0,   0,   0, 
 -      4,   0,   0,   0,   8,   0, 
 -      0,   0, 104,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,  15,   0, 
 -      0,   0, 116,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      1,   0,   0,   0,   7,   7, 
 -      0,   0, 123,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      2,   0,   0,   0,   7,   7, 
 -      0,   0, 127,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      3,   0,   0,   0,   7,   7, 
 -      0,   0,  83,  86,  95,  80, 
 -     79,  83,  73,  84,  73,  79, 
 -     78,   0,  78,  79,  82,  77, 
 -     65,  76,   0,  69,  89,  69, 
 -      0,  76,  73,  71,  72,  84, 
 -      0, 171, 171, 171,  79,  83, 
 -     71,  78,  44,   0,   0,   0, 
 -      1,   0,   0,   0,   8,   0, 
 -      0,   0,  32,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,  15,   0, 
 -      0,   0,  83,  86,  95,  84, 
 -     65,  82,  71,  69,  84,   0, 
 -    171, 171,  83,  72,  68,  82, 
 -     84,   2,   0,   0,  64,   0, 
 -      0,   0, 149,   0,   0,   0, 
 -     89,   0,   0,   4,  70, 142, 
 -     32,   0,   0,   0,   0,   0, 
 -     12,   0,   0,   0,  98,  16, 
 -      0,   3, 114,  16,  16,   0, 
 -      1,   0,   0,   0,  98,  16, 
 -      0,   3, 114,  16,  16,   0, 
 -      2,   0,   0,   0,  98,  16, 
 -      0,   3, 114,  16,  16,   0, 
 -      3,   0,   0,   0, 101,   0, 
 -      0,   3, 242,  32,  16,   0, 
 -      0,   0,   0,   0, 104,   0, 
 -      0,   2,   3,   0,   0,   0, 
 -     16,   0,   0,   7,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  18,  16,   0,   2,   0, 
 -      0,   0,  70,  18,  16,   0, 
 -      2,   0,   0,   0,  68,   0, 
 -      0,   5,  18,   0,  16,   0, 
 -      0,   0,   0,   0,  10,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     16,   0,   0,   7,  34,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  18,  16,   0,   3,   0, 
 -      0,   0,  70,  18,  16,   0, 
 -      3,   0,   0,   0,  68,   0, 
 -      0,   5,  34,   0,  16,   0, 
 -      0,   0,   0,   0,  26,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     56,   0,   0,   7, 226,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     86,   5,  16,   0,   0,   0, 
 -      0,   0,   6,  25,  16,   0, 
 -      3,   0,   0,   0,  50,   0, 
 -      0,   9, 114,   0,  16,   0, 
 -      1,   0,   0,   0,  70,  18, 
 -     16,   0,   2,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0, 150,   7,  16,   0, 
 -      0,   0,   0,   0,  16,   0, 
 -      0,   7,  18,   0,  16,   0, 
 -      0,   0,   0,   0,  70,   2, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,   2,  16,   0,   1,   0, 
 -      0,   0,  68,   0,   0,   5, 
 -     18,   0,  16,   0,   0,   0, 
 -      0,   0,  10,   0,  16,   0, 
 -      0,   0,   0,   0,  56,   0, 
 -      0,   7, 114,   0,  16,   0, 
 -      1,   0,   0,   0,   6,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   1,   0, 
 -      0,   0,  16,   0,   0,   7, 
 -     18,   0,  16,   0,   0,   0, 
 -      0,   0,  70,  18,  16,   0, 
 -      1,   0,   0,   0,  70,  18, 
 -     16,   0,   1,   0,   0,   0, 
 -     68,   0,   0,   5,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     10,   0,  16,   0,   0,   0, 
 -      0,   0,  56,   0,   0,   7, 
 -    114,   0,  16,   0,   2,   0, 
 -      0,   0,   6,   0,  16,   0, 
 -      0,   0,   0,   0,  70,  18, 
 -     16,   0,   1,   0,   0,   0, 
 -     16,  32,   0,   7,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   2,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      1,   0,   0,   0,  16,  32, 
 -      0,   7,  34,   0,  16,   0, 
 -      0,   0,   0,   0,  70,   2, 
 -     16,   0,   2,   0,   0,   0, 
 -    150,   7,  16,   0,   0,   0, 
 -      0,   0,  47,   0,   0,   5, 
 -     18,   0,  16,   0,   0,   0, 
 -      0,   0,  10,   0,  16,   0, 
 -      0,   0,   0,   0,  56,   0, 
 -      0,   8,  18,   0,  16,   0, 
 -      0,   0,   0,   0,  10,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     10, 128,  32,   0,   0,   0, 
 -      0,   0,  11,   0,   0,   0, 
 -     25,   0,   0,   5,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     10,   0,  16,   0,   0,   0, 
 -      0,   0,  56,   0,   0,   8, 
 -    242,   0,  16,   0,   1,   0, 
 -      0,   0,   6,   0,  16,   0, 
 -      0,   0,   0,   0,  70, 142, 
 -     32,   0,   0,   0,   0,   0, 
 -     10,   0,   0,   0,  50,   0, 
 -      0,  10, 242,  32,  16,   0, 
 -      0,   0,   0,   0,  70, 142, 
 -     32,   0,   0,   0,   0,   0, 
 -      9,   0,   0,   0,  86,   5, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  14,  16,   0,   1,   0, 
 -      0,   0,  62,   0,   0,   1, 
 -     83,  84,  65,  84, 116,   0, 
 -      0,   0,  20,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -     17,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11gears.hlsl.ps.h /Eps /Tps_4_0 d3d11gears.hlsl +// +// +// Buffer Definitions:  +// +// cbuffer cb +// { +// +//   float4x4 proj;                     // Offset:    0 Size:    64 [unused] +//   float4x4 modelview;                // Offset:   64 Size:    64 [unused] +//   float4 light;                      // Offset:  128 Size:    16 [unused] +//   float4 diffuse;                    // Offset:  144 Size:    16 +//   float4 specular;                   // Offset:  160 Size:    16 +//   float specular_power;              // Offset:  176 Size:     4 +// +// } +// +// +// Resource Bindings: +// +// Name                                 Type  Format         Dim Slot Elements +// ------------------------------ ---------- ------- ----------- ---- -------- +// cb                                cbuffer      NA          NA    0        1 +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float        +// NORMAL                   0   xyz         1     NONE  float   xyz  +// EYE                      0   xyz         2     NONE  float   xyz  +// LIGHT                    0   xyz         3     NONE  float   xyz  +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_TARGET                0   xyzw        0   TARGET  float   xyzw +// +ps_4_0 +dcl_constantbuffer cb0[12], immediateIndexed +dcl_input_ps linear v1.xyz +dcl_input_ps linear v2.xyz +dcl_input_ps linear v3.xyz +dcl_output o0.xyzw +dcl_temps 3 +dp3 r0.x, v2.xyzx, v2.xyzx +rsq r0.x, r0.x +dp3 r0.y, v3.xyzx, v3.xyzx +rsq r0.y, r0.y +mul r0.yzw, r0.yyyy, v3.xxyz +mad r1.xyz, v2.xyzx, r0.xxxx, r0.yzwy +dp3 r0.x, r1.xyzx, r1.xyzx +rsq r0.x, r0.x +mul r1.xyz, r0.xxxx, r1.xyzx +dp3 r0.x, v1.xyzx, v1.xyzx +rsq r0.x, r0.x +mul r2.xyz, r0.xxxx, v1.xyzx +dp3_sat r0.x, r2.xyzx, r1.xyzx +dp3_sat r0.y, r2.xyzx, r0.yzwy +log r0.x, r0.x +mul r0.x, r0.x, cb0[11].x +exp r0.x, r0.x +mul r1.xyzw, r0.xxxx, cb0[10].xyzw +mad o0.xyzw, cb0[9].xyzw, r0.yyyy, r1.xyzw +ret  +// Approximately 20 instruction slots used +#endif + +const BYTE g_ps[] = +{ +     68,  88,  66,  67,  91,  23,  +    206, 102,  23,  38, 122,  59,  +     55, 123, 215,  57,  98, 213,  +    215, 191,   1,   0,   0,   0,  +     92,   5,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    192,   1,   0,   0,  80,   2,  +      0,   0, 132,   2,   0,   0,  +    224,   4,   0,   0,  82,  68,  +     69,  70, 132,   1,   0,   0,  +      1,   0,   0,   0,  64,   0,  +      0,   0,   1,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    255, 255,   0,   1,   0,   0,  +     80,   1,   0,   0,  60,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +     99,  98,   0, 171,  60,   0,  +      0,   0,   6,   0,   0,   0,  +     88,   0,   0,   0, 192,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0, 232,   0,  +      0,   0,   0,   0,   0,   0,  +     64,   0,   0,   0,   0,   0,  +      0,   0, 240,   0,   0,   0,  +      0,   0,   0,   0,   0,   1,  +      0,   0,  64,   0,   0,   0,  +     64,   0,   0,   0,   0,   0,  +      0,   0, 240,   0,   0,   0,  +      0,   0,   0,   0,  10,   1,  +      0,   0, 128,   0,   0,   0,  +     16,   0,   0,   0,   0,   0,  +      0,   0,  16,   1,   0,   0,  +      0,   0,   0,   0,  32,   1,  +      0,   0, 144,   0,   0,   0,  +     16,   0,   0,   0,   2,   0,  +      0,   0,  16,   1,   0,   0,  +      0,   0,   0,   0,  40,   1,  +      0,   0, 160,   0,   0,   0,  +     16,   0,   0,   0,   2,   0,  +      0,   0,  16,   1,   0,   0,  +      0,   0,   0,   0,  49,   1,  +      0,   0, 176,   0,   0,   0,  +      4,   0,   0,   0,   2,   0,  +      0,   0,  64,   1,   0,   0,  +      0,   0,   0,   0, 112, 114,  +    111, 106,   0, 171, 171, 171,  +      3,   0,   3,   0,   4,   0,  +      4,   0,   0,   0,   0,   0,  +      0,   0,   0,   0, 109, 111,  +    100, 101, 108, 118, 105, 101,  +    119,   0, 108, 105, 103, 104,  +    116,   0,   1,   0,   3,   0,  +      1,   0,   4,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +    100, 105, 102, 102, 117, 115,  +    101,   0, 115, 112, 101,  99,  +    117, 108,  97, 114,   0, 115,  +    112, 101,  99, 117, 108,  97,  +    114,  95, 112, 111, 119, 101,  +    114,   0,   0,   0,   3,   0,  +      1,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     77, 105,  99, 114, 111, 115,  +    111, 102, 116,  32,  40,  82,  +     41,  32,  72,  76,  83,  76,  +     32,  83, 104,  97, 100, 101,  +    114,  32,  67, 111, 109, 112,  +    105, 108, 101, 114,  32,  57,  +     46,  50,  57,  46,  57,  53,  +     50,  46,  51,  49,  49,  49,  +      0, 171, 171, 171,  73,  83,  +     71,  78, 136,   0,   0,   0,  +      4,   0,   0,   0,   8,   0,  +      0,   0, 104,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,  15,   0,  +      0,   0, 116,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      1,   0,   0,   0,   7,   7,  +      0,   0, 123,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      2,   0,   0,   0,   7,   7,  +      0,   0, 127,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      3,   0,   0,   0,   7,   7,  +      0,   0,  83,  86,  95,  80,  +     79,  83,  73,  84,  73,  79,  +     78,   0,  78,  79,  82,  77,  +     65,  76,   0,  69,  89,  69,  +      0,  76,  73,  71,  72,  84,  +      0, 171, 171, 171,  79,  83,  +     71,  78,  44,   0,   0,   0,  +      1,   0,   0,   0,   8,   0,  +      0,   0,  32,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,  15,   0,  +      0,   0,  83,  86,  95,  84,  +     65,  82,  71,  69,  84,   0,  +    171, 171,  83,  72,  68,  82,  +     84,   2,   0,   0,  64,   0,  +      0,   0, 149,   0,   0,   0,  +     89,   0,   0,   4,  70, 142,  +     32,   0,   0,   0,   0,   0,  +     12,   0,   0,   0,  98,  16,  +      0,   3, 114,  16,  16,   0,  +      1,   0,   0,   0,  98,  16,  +      0,   3, 114,  16,  16,   0,  +      2,   0,   0,   0,  98,  16,  +      0,   3, 114,  16,  16,   0,  +      3,   0,   0,   0, 101,   0,  +      0,   3, 242,  32,  16,   0,  +      0,   0,   0,   0, 104,   0,  +      0,   2,   3,   0,   0,   0,  +     16,   0,   0,   7,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     70,  18,  16,   0,   2,   0,  +      0,   0,  70,  18,  16,   0,  +      2,   0,   0,   0,  68,   0,  +      0,   5,  18,   0,  16,   0,  +      0,   0,   0,   0,  10,   0,  +     16,   0,   0,   0,   0,   0,  +     16,   0,   0,   7,  34,   0,  +     16,   0,   0,   0,   0,   0,  +     70,  18,  16,   0,   3,   0,  +      0,   0,  70,  18,  16,   0,  +      3,   0,   0,   0,  68,   0,  +      0,   5,  34,   0,  16,   0,  +      0,   0,   0,   0,  26,   0,  +     16,   0,   0,   0,   0,   0,  +     56,   0,   0,   7, 226,   0,  +     16,   0,   0,   0,   0,   0,  +     86,   5,  16,   0,   0,   0,  +      0,   0,   6,  25,  16,   0,  +      3,   0,   0,   0,  50,   0,  +      0,   9, 114,   0,  16,   0,  +      1,   0,   0,   0,  70,  18,  +     16,   0,   2,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0, 150,   7,  16,   0,  +      0,   0,   0,   0,  16,   0,  +      0,   7,  18,   0,  16,   0,  +      0,   0,   0,   0,  70,   2,  +     16,   0,   1,   0,   0,   0,  +     70,   2,  16,   0,   1,   0,  +      0,   0,  68,   0,   0,   5,  +     18,   0,  16,   0,   0,   0,  +      0,   0,  10,   0,  16,   0,  +      0,   0,   0,   0,  56,   0,  +      0,   7, 114,   0,  16,   0,  +      1,   0,   0,   0,   6,   0,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   1,   0,  +      0,   0,  16,   0,   0,   7,  +     18,   0,  16,   0,   0,   0,  +      0,   0,  70,  18,  16,   0,  +      1,   0,   0,   0,  70,  18,  +     16,   0,   1,   0,   0,   0,  +     68,   0,   0,   5,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     10,   0,  16,   0,   0,   0,  +      0,   0,  56,   0,   0,   7,  +    114,   0,  16,   0,   2,   0,  +      0,   0,   6,   0,  16,   0,  +      0,   0,   0,   0,  70,  18,  +     16,   0,   1,   0,   0,   0,  +     16,  32,   0,   7,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   2,   0,  +      0,   0,  70,   2,  16,   0,  +      1,   0,   0,   0,  16,  32,  +      0,   7,  34,   0,  16,   0,  +      0,   0,   0,   0,  70,   2,  +     16,   0,   2,   0,   0,   0,  +    150,   7,  16,   0,   0,   0,  +      0,   0,  47,   0,   0,   5,  +     18,   0,  16,   0,   0,   0,  +      0,   0,  10,   0,  16,   0,  +      0,   0,   0,   0,  56,   0,  +      0,   8,  18,   0,  16,   0,  +      0,   0,   0,   0,  10,   0,  +     16,   0,   0,   0,   0,   0,  +     10, 128,  32,   0,   0,   0,  +      0,   0,  11,   0,   0,   0,  +     25,   0,   0,   5,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     10,   0,  16,   0,   0,   0,  +      0,   0,  56,   0,   0,   8,  +    242,   0,  16,   0,   1,   0,  +      0,   0,   6,   0,  16,   0,  +      0,   0,   0,   0,  70, 142,  +     32,   0,   0,   0,   0,   0,  +     10,   0,   0,   0,  50,   0,  +      0,  10, 242,  32,  16,   0,  +      0,   0,   0,   0,  70, 142,  +     32,   0,   0,   0,   0,   0,  +      9,   0,   0,   0,  86,   5,  +     16,   0,   0,   0,   0,   0,  +     70,  14,  16,   0,   1,   0,  +      0,   0,  62,   0,   0,   1,  +     83,  84,  65,  84, 116,   0,  +      0,   0,  20,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,   4,   0,   0,   0,  +     17,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.hlsl.vs.h b/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.hlsl.vs.h index 3170d3a0b6..ee931091c2 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.hlsl.vs.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11gears/d3d11gears.hlsl.vs.h @@ -1,308 +1,308 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11gears.hlsl.vs.h /Evs /Tvs_4_0 d3d11gears.hlsl
 -//
 -//
 -// Buffer Definitions: 
 -//
 -// cbuffer cb
 -// {
 -//
 -//   float4x4 proj;                     // Offset:    0 Size:    64
 -//   float4x4 modelview;                // Offset:   64 Size:    64
 -//   float4 light;                      // Offset:  128 Size:    16
 -//   float4 diffuse;                    // Offset:  144 Size:    16 [unused]
 -//   float4 specular;                   // Offset:  160 Size:    16 [unused]
 -//   float specular_power;              // Offset:  176 Size:     4 [unused]
 -//
 -// }
 -//
 -//
 -// Resource Bindings:
 -//
 -// Name                                 Type  Format         Dim Slot Elements
 -// ------------------------------ ---------- ------- ----------- ---- --------
 -// cb                                cbuffer      NA          NA    0        1
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyzw        0     NONE  float   xyzw
 -// NORMAL                   0   xyz         1     NONE  float   xyz 
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float   xyzw
 -// NORMAL                   0   xyz         1     NONE  float   xyz 
 -// EYE                      0   xyz         2     NONE  float   xyz 
 -// LIGHT                    0   xyz         3     NONE  float   xyz 
 -//
 -vs_4_0
 -dcl_constantbuffer cb0[9], immediateIndexed
 -dcl_input v0.xyzw
 -dcl_input v1.xyz
 -dcl_output_siv o0.xyzw, position
 -dcl_output o1.xyz
 -dcl_output o2.xyz
 -dcl_output o3.xyz
 -dcl_temps 2
 -mul r0.xyz, v0.yyyy, cb0[5].xyzx
 -mad r0.xyz, cb0[4].xyzx, v0.xxxx, r0.xyzx
 -mad r0.xyz, cb0[6].xyzx, v0.zzzz, r0.xyzx
 -mad r0.xyz, cb0[7].xyzx, v0.wwww, r0.xyzx
 -mul r1.xyzw, r0.yyyy, cb0[1].xyzw
 -mad r1.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw
 -mad r1.xyzw, cb0[2].xyzw, r0.zzzz, r1.xyzw
 -add o0.xyzw, r1.xyzw, cb0[3].xyzw
 -mul r1.xyz, v1.yyyy, cb0[5].xyzx
 -mad r1.xyz, cb0[4].xyzx, v1.xxxx, r1.xyzx
 -mad o1.xyz, cb0[6].xyzx, v1.zzzz, r1.xyzx
 -mov o2.xyz, -r0.xyzx
 -add o3.xyz, -r0.xyzx, cb0[8].xyzx
 -ret 
 -// Approximately 14 instruction slots used
 -#endif
 -
 -const BYTE g_vs[] =
 -{
 -     68,  88,  66,  67, 251,  82, 
 -     65, 114, 135,  66, 139,  83, 
 -      7,  10,  20, 121, 102,  38, 
 -     44,  36,   1,   0,   0,   0, 
 -    104,   5,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    192,   1,   0,   0,  16,   2, 
 -      0,   0, 160,   2,   0,   0, 
 -    236,   4,   0,   0,  82,  68, 
 -     69,  70, 132,   1,   0,   0, 
 -      1,   0,   0,   0,  64,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    254, 255,   0,   1,   0,   0, 
 -     80,   1,   0,   0,  60,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     99,  98,   0, 171,  60,   0, 
 -      0,   0,   6,   0,   0,   0, 
 -     88,   0,   0,   0, 192,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0, 232,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     64,   0,   0,   0,   2,   0, 
 -      0,   0, 240,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   1, 
 -      0,   0,  64,   0,   0,   0, 
 -     64,   0,   0,   0,   2,   0, 
 -      0,   0, 240,   0,   0,   0, 
 -      0,   0,   0,   0,  10,   1, 
 -      0,   0, 128,   0,   0,   0, 
 -     16,   0,   0,   0,   2,   0, 
 -      0,   0,  16,   1,   0,   0, 
 -      0,   0,   0,   0,  32,   1, 
 -      0,   0, 144,   0,   0,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -      0,   0,  16,   1,   0,   0, 
 -      0,   0,   0,   0,  40,   1, 
 -      0,   0, 160,   0,   0,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -      0,   0,  16,   1,   0,   0, 
 -      0,   0,   0,   0,  49,   1, 
 -      0,   0, 176,   0,   0,   0, 
 -      4,   0,   0,   0,   0,   0, 
 -      0,   0,  64,   1,   0,   0, 
 -      0,   0,   0,   0, 112, 114, 
 -    111, 106,   0, 171, 171, 171, 
 -      3,   0,   3,   0,   4,   0, 
 -      4,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0, 109, 111, 
 -    100, 101, 108, 118, 105, 101, 
 -    119,   0, 108, 105, 103, 104, 
 -    116,   0,   1,   0,   3,   0, 
 -      1,   0,   4,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -    100, 105, 102, 102, 117, 115, 
 -    101,   0, 115, 112, 101,  99, 
 -    117, 108,  97, 114,   0, 115, 
 -    112, 101,  99, 117, 108,  97, 
 -    114,  95, 112, 111, 119, 101, 
 -    114,   0,   0,   0,   3,   0, 
 -      1,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     77, 105,  99, 114, 111, 115, 
 -    111, 102, 116,  32,  40,  82, 
 -     41,  32,  72,  76,  83,  76, 
 -     32,  83, 104,  97, 100, 101, 
 -    114,  32,  67, 111, 109, 112, 
 -    105, 108, 101, 114,  32,  57, 
 -     46,  50,  57,  46,  57,  53, 
 -     50,  46,  51,  49,  49,  49, 
 -      0, 171, 171, 171,  73,  83, 
 -     71,  78,  72,   0,   0,   0, 
 -      2,   0,   0,   0,   8,   0, 
 -      0,   0,  56,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,  15,  15, 
 -      0,   0,  65,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      1,   0,   0,   0,   7,   7, 
 -      0,   0,  80,  79,  83,  73, 
 -     84,  73,  79,  78,   0,  78, 
 -     79,  82,  77,  65,  76,   0, 
 -     79,  83,  71,  78, 136,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      8,   0,   0,   0, 104,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     15,   0,   0,   0, 116,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      7,   8,   0,   0, 123,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -      7,   8,   0,   0, 127,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      7,   8,   0,   0,  83,  86, 
 -     95,  80,  79,  83,  73,  84, 
 -     73,  79,  78,   0,  78,  79, 
 -     82,  77,  65,  76,   0,  69, 
 -     89,  69,   0,  76,  73,  71, 
 -     72,  84,   0, 171, 171, 171, 
 -     83,  72,  68,  82,  68,   2, 
 -      0,   0,  64,   0,   1,   0, 
 -    145,   0,   0,   0,  89,   0, 
 -      0,   4,  70, 142,  32,   0, 
 -      0,   0,   0,   0,   9,   0, 
 -      0,   0,  95,   0,   0,   3, 
 -    242,  16,  16,   0,   0,   0, 
 -      0,   0,  95,   0,   0,   3, 
 -    114,  16,  16,   0,   1,   0, 
 -      0,   0, 103,   0,   0,   4, 
 -    242,  32,  16,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -    101,   0,   0,   3, 114,  32, 
 -     16,   0,   1,   0,   0,   0, 
 -    101,   0,   0,   3, 114,  32, 
 -     16,   0,   2,   0,   0,   0, 
 -    101,   0,   0,   3, 114,  32, 
 -     16,   0,   3,   0,   0,   0, 
 -    104,   0,   0,   2,   2,   0, 
 -      0,   0,  56,   0,   0,   8, 
 -    114,   0,  16,   0,   0,   0, 
 -      0,   0,  86,  21,  16,   0, 
 -      0,   0,   0,   0,  70, 130, 
 -     32,   0,   0,   0,   0,   0, 
 -      5,   0,   0,   0,  50,   0, 
 -      0,  10, 114,   0,  16,   0, 
 -      0,   0,   0,   0,  70, 130, 
 -     32,   0,   0,   0,   0,   0, 
 -      4,   0,   0,   0,   6,  16, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   0,   0, 
 -      0,   0,  50,   0,   0,  10, 
 -    114,   0,  16,   0,   0,   0, 
 -      0,   0,  70, 130,  32,   0, 
 -      0,   0,   0,   0,   6,   0, 
 -      0,   0, 166,  26,  16,   0, 
 -      0,   0,   0,   0,  70,   2, 
 -     16,   0,   0,   0,   0,   0, 
 -     50,   0,   0,  10, 114,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70, 130,  32,   0,   0,   0, 
 -      0,   0,   7,   0,   0,   0, 
 -    246,  31,  16,   0,   0,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      0,   0,   0,   0,  56,   0, 
 -      0,   8, 242,   0,  16,   0, 
 -      1,   0,   0,   0,  86,   5, 
 -     16,   0,   0,   0,   0,   0, 
 -     70, 142,  32,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -     50,   0,   0,  10, 242,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     70, 142,  32,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0,  70,  14,  16,   0, 
 -      1,   0,   0,   0,  50,   0, 
 -      0,  10, 242,   0,  16,   0, 
 -      1,   0,   0,   0,  70, 142, 
 -     32,   0,   0,   0,   0,   0, 
 -      2,   0,   0,   0, 166,  10, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  14,  16,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   8, 
 -    242,  32,  16,   0,   0,   0, 
 -      0,   0,  70,  14,  16,   0, 
 -      1,   0,   0,   0,  70, 142, 
 -     32,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,  56,   0, 
 -      0,   8, 114,   0,  16,   0, 
 -      1,   0,   0,   0,  86,  21, 
 -     16,   0,   1,   0,   0,   0, 
 -     70, 130,  32,   0,   0,   0, 
 -      0,   0,   5,   0,   0,   0, 
 -     50,   0,   0,  10, 114,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     70, 130,  32,   0,   0,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      6,  16,  16,   0,   1,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      1,   0,   0,   0,  50,   0, 
 -      0,  10, 114,  32,  16,   0, 
 -      1,   0,   0,   0,  70, 130, 
 -     32,   0,   0,   0,   0,   0, 
 -      6,   0,   0,   0, 166,  26, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,   2,  16,   0,   1,   0, 
 -      0,   0,  54,   0,   0,   6, 
 -    114,  32,  16,   0,   2,   0, 
 -      0,   0,  70,   2,  16, 128, 
 -     65,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   9, 
 -    114,  32,  16,   0,   3,   0, 
 -      0,   0,  70,   2,  16, 128, 
 -     65,   0,   0,   0,   0,   0, 
 -      0,   0,  70, 130,  32,   0, 
 -      0,   0,   0,   0,   8,   0, 
 -      0,   0,  62,   0,   0,   1, 
 -     83,  84,  65,  84, 116,   0, 
 -      0,   0,  14,   0,   0,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0,   6,   0,   0,   0, 
 -      5,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11gears.hlsl.vs.h /Evs /Tvs_4_0 d3d11gears.hlsl +// +// +// Buffer Definitions:  +// +// cbuffer cb +// { +// +//   float4x4 proj;                     // Offset:    0 Size:    64 +//   float4x4 modelview;                // Offset:   64 Size:    64 +//   float4 light;                      // Offset:  128 Size:    16 +//   float4 diffuse;                    // Offset:  144 Size:    16 [unused] +//   float4 specular;                   // Offset:  160 Size:    16 [unused] +//   float specular_power;              // Offset:  176 Size:     4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name                                 Type  Format         Dim Slot Elements +// ------------------------------ ---------- ------- ----------- ---- -------- +// cb                                cbuffer      NA          NA    0        1 +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyzw        0     NONE  float   xyzw +// NORMAL                   0   xyz         1     NONE  float   xyz  +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float   xyzw +// NORMAL                   0   xyz         1     NONE  float   xyz  +// EYE                      0   xyz         2     NONE  float   xyz  +// LIGHT                    0   xyz         3     NONE  float   xyz  +// +vs_4_0 +dcl_constantbuffer cb0[9], immediateIndexed +dcl_input v0.xyzw +dcl_input v1.xyz +dcl_output_siv o0.xyzw, position +dcl_output o1.xyz +dcl_output o2.xyz +dcl_output o3.xyz +dcl_temps 2 +mul r0.xyz, v0.yyyy, cb0[5].xyzx +mad r0.xyz, cb0[4].xyzx, v0.xxxx, r0.xyzx +mad r0.xyz, cb0[6].xyzx, v0.zzzz, r0.xyzx +mad r0.xyz, cb0[7].xyzx, v0.wwww, r0.xyzx +mul r1.xyzw, r0.yyyy, cb0[1].xyzw +mad r1.xyzw, cb0[0].xyzw, r0.xxxx, r1.xyzw +mad r1.xyzw, cb0[2].xyzw, r0.zzzz, r1.xyzw +add o0.xyzw, r1.xyzw, cb0[3].xyzw +mul r1.xyz, v1.yyyy, cb0[5].xyzx +mad r1.xyz, cb0[4].xyzx, v1.xxxx, r1.xyzx +mad o1.xyz, cb0[6].xyzx, v1.zzzz, r1.xyzx +mov o2.xyz, -r0.xyzx +add o3.xyz, -r0.xyzx, cb0[8].xyzx +ret  +// Approximately 14 instruction slots used +#endif + +const BYTE g_vs[] = +{ +     68,  88,  66,  67, 251,  82,  +     65, 114, 135,  66, 139,  83,  +      7,  10,  20, 121, 102,  38,  +     44,  36,   1,   0,   0,   0,  +    104,   5,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    192,   1,   0,   0,  16,   2,  +      0,   0, 160,   2,   0,   0,  +    236,   4,   0,   0,  82,  68,  +     69,  70, 132,   1,   0,   0,  +      1,   0,   0,   0,  64,   0,  +      0,   0,   1,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    254, 255,   0,   1,   0,   0,  +     80,   1,   0,   0,  60,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +     99,  98,   0, 171,  60,   0,  +      0,   0,   6,   0,   0,   0,  +     88,   0,   0,   0, 192,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0, 232,   0,  +      0,   0,   0,   0,   0,   0,  +     64,   0,   0,   0,   2,   0,  +      0,   0, 240,   0,   0,   0,  +      0,   0,   0,   0,   0,   1,  +      0,   0,  64,   0,   0,   0,  +     64,   0,   0,   0,   2,   0,  +      0,   0, 240,   0,   0,   0,  +      0,   0,   0,   0,  10,   1,  +      0,   0, 128,   0,   0,   0,  +     16,   0,   0,   0,   2,   0,  +      0,   0,  16,   1,   0,   0,  +      0,   0,   0,   0,  32,   1,  +      0,   0, 144,   0,   0,   0,  +     16,   0,   0,   0,   0,   0,  +      0,   0,  16,   1,   0,   0,  +      0,   0,   0,   0,  40,   1,  +      0,   0, 160,   0,   0,   0,  +     16,   0,   0,   0,   0,   0,  +      0,   0,  16,   1,   0,   0,  +      0,   0,   0,   0,  49,   1,  +      0,   0, 176,   0,   0,   0,  +      4,   0,   0,   0,   0,   0,  +      0,   0,  64,   1,   0,   0,  +      0,   0,   0,   0, 112, 114,  +    111, 106,   0, 171, 171, 171,  +      3,   0,   3,   0,   4,   0,  +      4,   0,   0,   0,   0,   0,  +      0,   0,   0,   0, 109, 111,  +    100, 101, 108, 118, 105, 101,  +    119,   0, 108, 105, 103, 104,  +    116,   0,   1,   0,   3,   0,  +      1,   0,   4,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +    100, 105, 102, 102, 117, 115,  +    101,   0, 115, 112, 101,  99,  +    117, 108,  97, 114,   0, 115,  +    112, 101,  99, 117, 108,  97,  +    114,  95, 112, 111, 119, 101,  +    114,   0,   0,   0,   3,   0,  +      1,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     77, 105,  99, 114, 111, 115,  +    111, 102, 116,  32,  40,  82,  +     41,  32,  72,  76,  83,  76,  +     32,  83, 104,  97, 100, 101,  +    114,  32,  67, 111, 109, 112,  +    105, 108, 101, 114,  32,  57,  +     46,  50,  57,  46,  57,  53,  +     50,  46,  51,  49,  49,  49,  +      0, 171, 171, 171,  73,  83,  +     71,  78,  72,   0,   0,   0,  +      2,   0,   0,   0,   8,   0,  +      0,   0,  56,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,  15,  15,  +      0,   0,  65,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      1,   0,   0,   0,   7,   7,  +      0,   0,  80,  79,  83,  73,  +     84,  73,  79,  78,   0,  78,  +     79,  82,  77,  65,  76,   0,  +     79,  83,  71,  78, 136,   0,  +      0,   0,   4,   0,   0,   0,  +      8,   0,   0,   0, 104,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +     15,   0,   0,   0, 116,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   1,   0,   0,   0,  +      7,   8,   0,   0, 123,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   2,   0,   0,   0,  +      7,   8,   0,   0, 127,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   3,   0,   0,   0,  +      7,   8,   0,   0,  83,  86,  +     95,  80,  79,  83,  73,  84,  +     73,  79,  78,   0,  78,  79,  +     82,  77,  65,  76,   0,  69,  +     89,  69,   0,  76,  73,  71,  +     72,  84,   0, 171, 171, 171,  +     83,  72,  68,  82,  68,   2,  +      0,   0,  64,   0,   1,   0,  +    145,   0,   0,   0,  89,   0,  +      0,   4,  70, 142,  32,   0,  +      0,   0,   0,   0,   9,   0,  +      0,   0,  95,   0,   0,   3,  +    242,  16,  16,   0,   0,   0,  +      0,   0,  95,   0,   0,   3,  +    114,  16,  16,   0,   1,   0,  +      0,   0, 103,   0,   0,   4,  +    242,  32,  16,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +    101,   0,   0,   3, 114,  32,  +     16,   0,   1,   0,   0,   0,  +    101,   0,   0,   3, 114,  32,  +     16,   0,   2,   0,   0,   0,  +    101,   0,   0,   3, 114,  32,  +     16,   0,   3,   0,   0,   0,  +    104,   0,   0,   2,   2,   0,  +      0,   0,  56,   0,   0,   8,  +    114,   0,  16,   0,   0,   0,  +      0,   0,  86,  21,  16,   0,  +      0,   0,   0,   0,  70, 130,  +     32,   0,   0,   0,   0,   0,  +      5,   0,   0,   0,  50,   0,  +      0,  10, 114,   0,  16,   0,  +      0,   0,   0,   0,  70, 130,  +     32,   0,   0,   0,   0,   0,  +      4,   0,   0,   0,   6,  16,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   0,   0,  +      0,   0,  50,   0,   0,  10,  +    114,   0,  16,   0,   0,   0,  +      0,   0,  70, 130,  32,   0,  +      0,   0,   0,   0,   6,   0,  +      0,   0, 166,  26,  16,   0,  +      0,   0,   0,   0,  70,   2,  +     16,   0,   0,   0,   0,   0,  +     50,   0,   0,  10, 114,   0,  +     16,   0,   0,   0,   0,   0,  +     70, 130,  32,   0,   0,   0,  +      0,   0,   7,   0,   0,   0,  +    246,  31,  16,   0,   0,   0,  +      0,   0,  70,   2,  16,   0,  +      0,   0,   0,   0,  56,   0,  +      0,   8, 242,   0,  16,   0,  +      1,   0,   0,   0,  86,   5,  +     16,   0,   0,   0,   0,   0,  +     70, 142,  32,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +     50,   0,   0,  10, 242,   0,  +     16,   0,   1,   0,   0,   0,  +     70, 142,  32,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0,  70,  14,  16,   0,  +      1,   0,   0,   0,  50,   0,  +      0,  10, 242,   0,  16,   0,  +      1,   0,   0,   0,  70, 142,  +     32,   0,   0,   0,   0,   0,  +      2,   0,   0,   0, 166,  10,  +     16,   0,   0,   0,   0,   0,  +     70,  14,  16,   0,   1,   0,  +      0,   0,   0,   0,   0,   8,  +    242,  32,  16,   0,   0,   0,  +      0,   0,  70,  14,  16,   0,  +      1,   0,   0,   0,  70, 142,  +     32,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,  56,   0,  +      0,   8, 114,   0,  16,   0,  +      1,   0,   0,   0,  86,  21,  +     16,   0,   1,   0,   0,   0,  +     70, 130,  32,   0,   0,   0,  +      0,   0,   5,   0,   0,   0,  +     50,   0,   0,  10, 114,   0,  +     16,   0,   1,   0,   0,   0,  +     70, 130,  32,   0,   0,   0,  +      0,   0,   4,   0,   0,   0,  +      6,  16,  16,   0,   1,   0,  +      0,   0,  70,   2,  16,   0,  +      1,   0,   0,   0,  50,   0,  +      0,  10, 114,  32,  16,   0,  +      1,   0,   0,   0,  70, 130,  +     32,   0,   0,   0,   0,   0,  +      6,   0,   0,   0, 166,  26,  +     16,   0,   1,   0,   0,   0,  +     70,   2,  16,   0,   1,   0,  +      0,   0,  54,   0,   0,   6,  +    114,  32,  16,   0,   2,   0,  +      0,   0,  70,   2,  16, 128,  +     65,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   9,  +    114,  32,  16,   0,   3,   0,  +      0,   0,  70,   2,  16, 128,  +     65,   0,   0,   0,   0,   0,  +      0,   0,  70, 130,  32,   0,  +      0,   0,   0,   0,   8,   0,  +      0,   0,  62,   0,   0,   1,  +     83,  84,  65,  84, 116,   0,  +      0,   0,  14,   0,   0,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0,   6,   0,   0,   0,  +      5,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.cpp index 31af95ca2c..54ca08f23c 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.cpp @@ -1,227 +1,227 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#define _USE_MATH_DEFINES
 -#include "d3d11app.h"
 -#include "d3d11spikysphere.hlsl.vs.h"
 -#include "d3d11spikysphere.hlsl.hs.h"
 -#include "d3d11spikysphere.hlsl.ds.h"
 -#include "d3d11spikysphere.hlsl.ps.h"
 -
 -#include <stdlib.h>
 -#include <stdio.h>
 -#include <math.h>
 -#include <float.h>
 -#include <D3DX10math.h>
 -
 -struct cb_frame_t
 -{
 -	D3DXMATRIX model;
 -	D3DXMATRIX view_proj;
 -	float disp_scale;
 -	float disp_freq;
 -	float tess_factor;
 -};
 -
 -static float vertex_data[] =
 -{
 -	1.0, 0.0, 0.0,
 -	0.0, 1.0, 0.0,
 -	0.0, 0.0, 1.0,
 -
 -	0.0, 1.0, 0.0,
 -	-1.0, 0.0, 0.0,
 -	0.0, 0.0, 1.0,
 -			
 -	0.0, -1.0, 0.0,
 -	1.0, 0.0, 0.0,
 -	0.0, 0.0, 1.0,
 -			
 -	-1.0, 0.0, 0.0,
 -	0.0, -1.0, 0.0,
 -	0.0, 0.0, 1.0,
 -			
 -	0.0, 1.0, 0.0,
 -	1.0, 0.0, 0.0,
 -	0.0, 0.0, -1.0,
 -
 -	-1.0, 0.0, 0.0,
 -	0.0, 1.0, 0.0,
 -	0.0, 0.0, -1.0,
 -			
 -	1.0, 0.0, 0.0,
 -	0.0, -1.0, 0.0,
 -	0.0, 0.0, -1.0,
 -
 -	0.0, -1.0, 0.0,
 -	-1.0, 0.0, 0.0,
 -	0.0, 0.0, -1.0,
 -};
 -
 -struct d3d11spikysphere : public d3d11_application
 -{
 -	ID3D11Device* dev;
 -	ID3D11PixelShader* ps;
 -	ID3D11DomainShader* ds;
 -	ID3D11HullShader* hs;
 -	ID3D11VertexShader* vs;
 -	ID3D11InputLayout* layout;
 -	ID3D11Buffer* vb;
 -	ID3D11RenderTargetView* rtv;
 -	ID3D11DepthStencilView* zsv;
 -	ID3D11Buffer* cb_frame;
 -
 -	int cur_width;
 -	int cur_height;
 -
 -	d3d11spikysphere()
 -	: cur_width(-1), cur_height(-1), zsv(0)
 -	{}
 -
 -	bool init(ID3D11Device* dev, int argc, char** argv)
 -	{
 -		this->dev = dev;
 -		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), NULL, &vs));
 -		ensure(dev->CreateHullShader(g_hs, sizeof(g_hs), NULL, &hs));
 -		ensure(dev->CreateDomainShader(g_ds, sizeof(g_ds), NULL, &ds));
 -		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), NULL, &ps));
 -		
 -		D3D11_INPUT_ELEMENT_DESC elements[1] =
 -		{
 -			{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0,
 -			0, D3D11_INPUT_PER_VERTEX_DATA, 0},
 -		};
 -
 -		ensure(dev->CreateInputLayout(elements, 1, g_vs, sizeof(g_vs), &layout));
 -
 -		D3D11_BUFFER_DESC bufferd;
 -		bufferd.ByteWidth = sizeof(vertex_data);
 -		bufferd.Usage = D3D11_USAGE_IMMUTABLE;
 -		bufferd.BindFlags = D3D11_BIND_VERTEX_BUFFER;
 -		bufferd.CPUAccessFlags = 0;
 -		bufferd.MiscFlags = 0;
 -		bufferd.StructureByteStride = 0;
 -
 -		D3D11_SUBRESOURCE_DATA buffersd;
 -		buffersd.pSysMem = vertex_data;
 -
 -		ensure(dev->CreateBuffer(&bufferd, &buffersd, &vb));
 -
 -		D3D11_BUFFER_DESC cbd;
 -		cbd.ByteWidth = (sizeof(cb_frame_t) + 15) & ~15;
 -		cbd.Usage = D3D11_USAGE_DYNAMIC;
 -		cbd.BindFlags = D3D11_BIND_CONSTANT_BUFFER;
 -		cbd.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
 -		cbd.MiscFlags = 0;
 -		cbd.StructureByteStride = 0;
 -
 -		ensure(dev->CreateBuffer(&cbd, NULL, &cb_frame));
 -		return true;
 -	}
 -
 -	void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time)
 -	{
 -		D3D11_VIEWPORT vp;
 -		memset(&vp, 0, sizeof(vp));
 -		vp.Width = (float)width;
 -		vp.Height = (float)height;
 -		vp.MaxDepth = 1.0f;
 -
 -		if(width != cur_width || height != cur_height)
 -		{
 -			if(zsv)
 -				zsv->Release();
 -			ID3D11Texture2D* zsbuf;
 -			D3D11_TEXTURE2D_DESC zsbufd;
 -			memset(&zsbufd, 0, sizeof(zsbufd));
 -			zsbufd.Width = width;
 -			zsbufd.Height = height;
 -			zsbufd.Format = DXGI_FORMAT_D32_FLOAT;
 -			zsbufd.ArraySize = 1;
 -			zsbufd.MipLevels = 1;
 -			zsbufd.SampleDesc.Count = 1;
 -			zsbufd.BindFlags = D3D11_BIND_DEPTH_STENCIL;
 -			ensure(dev->CreateTexture2D(&zsbufd, 0, &zsbuf));
 -			ensure(dev->CreateDepthStencilView(zsbuf, 0, &zsv));
 -			zsbuf->Release();
 -		}
 -
 -		float black[4] = {0, 0, 0, 0};
 -
 -		D3D11_MAPPED_SUBRESOURCE map;
 -		ensure(ctx->Map(cb_frame, 0, D3D11_MAP_WRITE_DISCARD, 0, &map));
 -		cb_frame_t* cb_frame_data = (cb_frame_t*)map.pData;
 -		D3DXMatrixIdentity(&cb_frame_data->model);
 -
 -		D3DXMATRIX view;
 -		D3DXVECTOR3 eye(2.0f * (float)sin(time), 0.0f, 2.0f * (float)cos(time));
 -		D3DXVECTOR3 at(0, 0, 0);
 -		D3DXVECTOR3 up(0, 1, 0);
 -		D3DXMatrixLookAtLH(&view, &eye, &at, &up);
 -		D3DXMATRIX proj;
 -		D3DXMatrixPerspectiveLH(&proj, 1.1f, 1.1f, 1.0f, 3.0f);
 -
 -		cb_frame_data->view_proj = view * proj;
 -		float min_tess_factor = 1.0f;
 -		cb_frame_data->tess_factor = (1.0f - (float)cos(time)) * ((64.0f - min_tess_factor) / 2.0f) + min_tess_factor;
 -		cb_frame_data->disp_scale = 0.9f;
 -		//cb_frame_data->disp_scale = (sin(time) + 1.0) / 2.0;
 -		cb_frame_data->disp_freq = 5.0f * (float)M_PI;
 -		//cb_frame_data->disp_freq = (4.0 + 4.0 * cos(time / 5.0)) * PI;
 -		ctx->Unmap(cb_frame, 0);
 -
 -		ctx->HSSetConstantBuffers(0, 1, &cb_frame);
 -		ctx->DSSetConstantBuffers(0, 1, &cb_frame);
 -		
 -		//ctx->OMSetBlendState(bs, black, ~0);
 -		//ctx->OMSetDepthStencilState(dss, 0);
 -		ctx->OMSetRenderTargets(1, &rtv, zsv);
 -		//ctx->RSSetState(rs);
 -		ctx->RSSetViewports(1, &vp);
 -
 -		ctx->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST);
 -		ctx->IASetInputLayout(layout);
 -		unsigned stride = 3 * 4;
 -		unsigned offset = 0;
 -		ctx->IASetVertexBuffers(0, 1, &vb, &stride, &offset);
 -
 -		ctx->VSSetShader(vs, NULL, 0);
 -		ctx->HSSetShader(hs, NULL, 0);
 -		ctx->DSSetShader(ds, NULL, 0);
 -		ctx->GSSetShader(NULL, NULL, 0);
 -		ctx->PSSetShader(ps, NULL, 0);	
 -
 -		ctx->ClearRenderTargetView(rtv, black);
 -		ctx->ClearDepthStencilView(zsv, D3D11_CLEAR_DEPTH, 1.0f, 0);
 -
 -		ctx->Draw(3 * 8, 0);
 -	}
 -};
 -
 -d3d11_application* d3d11_application_create()
 -{
 -	return new d3d11spikysphere();
 -}
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#define _USE_MATH_DEFINES +#include "d3d11app.h" +#include "d3d11spikysphere.hlsl.vs.h" +#include "d3d11spikysphere.hlsl.hs.h" +#include "d3d11spikysphere.hlsl.ds.h" +#include "d3d11spikysphere.hlsl.ps.h" + +#include <stdlib.h> +#include <stdio.h> +#include <math.h> +#include <float.h> +#include <D3DX10math.h> + +struct cb_frame_t +{ +	D3DXMATRIX model; +	D3DXMATRIX view_proj; +	float disp_scale; +	float disp_freq; +	float tess_factor; +}; + +static float vertex_data[] = +{ +	1.0, 0.0, 0.0, +	0.0, 1.0, 0.0, +	0.0, 0.0, 1.0, + +	0.0, 1.0, 0.0, +	-1.0, 0.0, 0.0, +	0.0, 0.0, 1.0, +			 +	0.0, -1.0, 0.0, +	1.0, 0.0, 0.0, +	0.0, 0.0, 1.0, +			 +	-1.0, 0.0, 0.0, +	0.0, -1.0, 0.0, +	0.0, 0.0, 1.0, +			 +	0.0, 1.0, 0.0, +	1.0, 0.0, 0.0, +	0.0, 0.0, -1.0, + +	-1.0, 0.0, 0.0, +	0.0, 1.0, 0.0, +	0.0, 0.0, -1.0, +			 +	1.0, 0.0, 0.0, +	0.0, -1.0, 0.0, +	0.0, 0.0, -1.0, + +	0.0, -1.0, 0.0, +	-1.0, 0.0, 0.0, +	0.0, 0.0, -1.0, +}; + +struct d3d11spikysphere : public d3d11_application +{ +	ID3D11Device* dev; +	ID3D11PixelShader* ps; +	ID3D11DomainShader* ds; +	ID3D11HullShader* hs; +	ID3D11VertexShader* vs; +	ID3D11InputLayout* layout; +	ID3D11Buffer* vb; +	ID3D11RenderTargetView* rtv; +	ID3D11DepthStencilView* zsv; +	ID3D11Buffer* cb_frame; + +	int cur_width; +	int cur_height; + +	d3d11spikysphere() +	: cur_width(-1), cur_height(-1), zsv(0) +	{} + +	bool init(ID3D11Device* dev, int argc, char** argv) +	{ +		this->dev = dev; +		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), NULL, &vs)); +		ensure(dev->CreateHullShader(g_hs, sizeof(g_hs), NULL, &hs)); +		ensure(dev->CreateDomainShader(g_ds, sizeof(g_ds), NULL, &ds)); +		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), NULL, &ps)); +		 +		D3D11_INPUT_ELEMENT_DESC elements[1] = +		{ +			{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, +			0, D3D11_INPUT_PER_VERTEX_DATA, 0}, +		}; + +		ensure(dev->CreateInputLayout(elements, 1, g_vs, sizeof(g_vs), &layout)); + +		D3D11_BUFFER_DESC bufferd; +		bufferd.ByteWidth = sizeof(vertex_data); +		bufferd.Usage = D3D11_USAGE_IMMUTABLE; +		bufferd.BindFlags = D3D11_BIND_VERTEX_BUFFER; +		bufferd.CPUAccessFlags = 0; +		bufferd.MiscFlags = 0; +		bufferd.StructureByteStride = 0; + +		D3D11_SUBRESOURCE_DATA buffersd; +		buffersd.pSysMem = vertex_data; + +		ensure(dev->CreateBuffer(&bufferd, &buffersd, &vb)); + +		D3D11_BUFFER_DESC cbd; +		cbd.ByteWidth = (sizeof(cb_frame_t) + 15) & ~15; +		cbd.Usage = D3D11_USAGE_DYNAMIC; +		cbd.BindFlags = D3D11_BIND_CONSTANT_BUFFER; +		cbd.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; +		cbd.MiscFlags = 0; +		cbd.StructureByteStride = 0; + +		ensure(dev->CreateBuffer(&cbd, NULL, &cb_frame)); +		return true; +	} + +	void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time) +	{ +		D3D11_VIEWPORT vp; +		memset(&vp, 0, sizeof(vp)); +		vp.Width = (float)width; +		vp.Height = (float)height; +		vp.MaxDepth = 1.0f; + +		if(width != cur_width || height != cur_height) +		{ +			if(zsv) +				zsv->Release(); +			ID3D11Texture2D* zsbuf; +			D3D11_TEXTURE2D_DESC zsbufd; +			memset(&zsbufd, 0, sizeof(zsbufd)); +			zsbufd.Width = width; +			zsbufd.Height = height; +			zsbufd.Format = DXGI_FORMAT_D32_FLOAT; +			zsbufd.ArraySize = 1; +			zsbufd.MipLevels = 1; +			zsbufd.SampleDesc.Count = 1; +			zsbufd.BindFlags = D3D11_BIND_DEPTH_STENCIL; +			ensure(dev->CreateTexture2D(&zsbufd, 0, &zsbuf)); +			ensure(dev->CreateDepthStencilView(zsbuf, 0, &zsv)); +			zsbuf->Release(); +		} + +		float black[4] = {0, 0, 0, 0}; + +		D3D11_MAPPED_SUBRESOURCE map; +		ensure(ctx->Map(cb_frame, 0, D3D11_MAP_WRITE_DISCARD, 0, &map)); +		cb_frame_t* cb_frame_data = (cb_frame_t*)map.pData; +		D3DXMatrixIdentity(&cb_frame_data->model); + +		D3DXMATRIX view; +		D3DXVECTOR3 eye(2.0f * (float)sin(time), 0.0f, 2.0f * (float)cos(time)); +		D3DXVECTOR3 at(0, 0, 0); +		D3DXVECTOR3 up(0, 1, 0); +		D3DXMatrixLookAtLH(&view, &eye, &at, &up); +		D3DXMATRIX proj; +		D3DXMatrixPerspectiveLH(&proj, 1.1f, 1.1f, 1.0f, 3.0f); + +		cb_frame_data->view_proj = view * proj; +		float min_tess_factor = 1.0f; +		cb_frame_data->tess_factor = (1.0f - (float)cos(time)) * ((64.0f - min_tess_factor) / 2.0f) + min_tess_factor; +		cb_frame_data->disp_scale = 0.9f; +		//cb_frame_data->disp_scale = (sin(time) + 1.0) / 2.0; +		cb_frame_data->disp_freq = 5.0f * (float)M_PI; +		//cb_frame_data->disp_freq = (4.0 + 4.0 * cos(time / 5.0)) * PI; +		ctx->Unmap(cb_frame, 0); + +		ctx->HSSetConstantBuffers(0, 1, &cb_frame); +		ctx->DSSetConstantBuffers(0, 1, &cb_frame); +		 +		//ctx->OMSetBlendState(bs, black, ~0); +		//ctx->OMSetDepthStencilState(dss, 0); +		ctx->OMSetRenderTargets(1, &rtv, zsv); +		//ctx->RSSetState(rs); +		ctx->RSSetViewports(1, &vp); + +		ctx->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST); +		ctx->IASetInputLayout(layout); +		unsigned stride = 3 * 4; +		unsigned offset = 0; +		ctx->IASetVertexBuffers(0, 1, &vb, &stride, &offset); + +		ctx->VSSetShader(vs, NULL, 0); +		ctx->HSSetShader(hs, NULL, 0); +		ctx->DSSetShader(ds, NULL, 0); +		ctx->GSSetShader(NULL, NULL, 0); +		ctx->PSSetShader(ps, NULL, 0);	 + +		ctx->ClearRenderTargetView(rtv, black); +		ctx->ClearDepthStencilView(zsv, D3D11_CLEAR_DEPTH, 1.0f, 0); + +		ctx->Draw(3 * 8, 0); +	} +}; + +d3d11_application* d3d11_application_create() +{ +	return new d3d11spikysphere(); +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.ds.h b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.ds.h index 4ec1f6b87e..45045e5c61 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.ds.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.ds.h @@ -1,623 +1,623 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11spikysphere.hlsl.ds.h /Eds /Tds_5_0 d3d11spikysphere.hlsl
 -//
 -//
 -// Buffer Definitions: 
 -//
 -// cbuffer cb_frame
 -// {
 -//
 -//   float4x4 model;                    // Offset:    0 Size:    64
 -//   float4x4 view_proj;                // Offset:   64 Size:    64
 -//   float disp_scale;                  // Offset:  128 Size:     4
 -//   float disp_freq;                   // Offset:  132 Size:     4
 -//   float tess_factor;                 // Offset:  136 Size:     4 [unused]
 -//
 -// }
 -//
 -//
 -// Resource Bindings:
 -//
 -// Name                                 Type  Format         Dim Slot Elements
 -// ------------------------------ ---------- ------- ----------- ---- --------
 -// cb_frame                          cbuffer      NA          NA    0        1
 -//
 -//
 -//
 -// Patch Constant signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_TessFactor            0   x           0  TRIEDGE  float       
 -// SV_TessFactor            1   x           1  TRIEDGE  float       
 -// SV_TessFactor            2   x           2  TRIEDGE  float       
 -// SV_InsideTessFactor      0   x           3   TRIINT  float       
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyz         0     NONE  float   xyz 
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float   xyzw
 -// OBJPOS                   0   xyz         1     NONE  float   xyz 
 -// OBJNORMAL                0   xyz         2     NONE  float   xyz 
 -// WORLDNORMAL              0   xyz         3     NONE  float   xyz 
 -//
 -// Tessellation Domain   # of control points
 -// -------------------- --------------------
 -// Triangle                                3
 -//
 -ds_5_0
 -dcl_input_control_point_count 3
 -dcl_tessellator_domain domain_tri
 -dcl_globalFlags refactoringAllowed
 -dcl_constantbuffer cb0[9], immediateIndexed
 -dcl_input vDomain.xyz
 -dcl_input vicp[3][0].xyz
 -dcl_output_siv o0.xyzw, position
 -dcl_output o1.xyz
 -dcl_output o2.xyz
 -dcl_output o3.xyz
 -dcl_temps 5
 -add r0.x, cb0[8].x, l(1.000000)
 -mul r0.yzw, vDomain.yyyy, vicp[1][0].yyzx
 -mad r0.yzw, vicp[0][0].yyzx, vDomain.xxxx, r0.yyzw
 -mad r0.yzw, vicp[2][0].yyzx, vDomain.zzzz, r0.yyzw
 -dp3 r1.x, r0.yzwy, r0.yzwy
 -rsq r1.x, r1.x
 -mul r0.yzw, r0.yyzw, r1.xxxx
 -mul r1.xyz, r0.wyzw, cb0[8].yyyy
 -sincos null, r2.xyz, r1.zxyz
 -sincos r1.xyz, null, -r1.xyzx
 -mul r1.xyz, r1.xyzx, cb0[8].yyyy
 -mul r1.xyz, r2.zxyz, r1.xyzx
 -mul r1.xyz, r2.xyzx, r1.xyzx
 -mul r1.xyz, r1.xyzx, cb0[8].xxxx
 -mul r1.w, r2.z, r2.y
 -mul r1.w, r2.x, r1.w
 -mad r1.w, r1.w, cb0[8].x, l(1.000000)
 -mul r2.xyz, r0.wyzw, r1.wwww
 -div r2.xyz, r2.xyzx, r0.xxxx
 -mul r3.xyz, r2.yyyy, cb0[1].xyzx
 -mad r3.xyz, cb0[0].xyzx, r2.xxxx, r3.xyzx
 -mad r3.xyz, cb0[2].xyzx, r2.zzzz, r3.xyzx
 -mov o1.xyz, r2.xyzx
 -add r2.xyz, r3.xyzx, cb0[3].xyzx
 -mul r3.xyzw, r2.yyyy, cb0[5].xyzw
 -mad r3.xyzw, cb0[4].xyzw, r2.xxxx, r3.xyzw
 -mad r2.xyzw, cb0[6].xyzw, r2.zzzz, r3.xyzw
 -add o0.xyzw, r2.xyzw, cb0[7].xyzw
 -mov r2.y, l(0)
 -lt r0.x, |r0.y|, |r0.w|
 -mul r2.xz, r0.zzwz, l(-1.000000, 0.000000, 1.000000, 0.000000)
 -mov r2.w, r0.y
 -movc r2.xyz, r0.xxxx, r2.zxyz, r2.wyxw
 -dp3 r0.x, r2.xyzx, r2.xyzx
 -rsq r0.x, r0.x
 -mul r2.xyz, r0.xxxx, r2.xyzx
 -mul r3.xyz, r0.wyzw, r2.xyzx
 -mad r3.xyz, r0.zwyz, r2.yzxy, -r3.xyzx
 -dp3 r0.x, r3.xyzx, r3.xyzx
 -rsq r0.x, r0.x
 -mul r3.xyz, r0.xxxx, r3.xyzx
 -dp3 r0.x, r1.yzxy, r3.xyzx
 -mul r3.xyz, r1.wwww, r3.xyzx
 -mul r4.xyz, r1.wwww, r2.xyzx
 -dp3 r1.x, r1.zxyz, r2.xyzx
 -mad r1.xyz, r0.zwyz, r1.xxxx, r4.xyzx
 -mad r0.xyz, r0.yzwy, r0.xxxx, r3.xyzx
 -mul r2.xyz, r0.xyzx, r1.xyzx
 -mad r0.xyz, r1.zxyz, r0.yzxy, -r2.xyzx
 -dp3 r0.w, r0.xyzx, r0.xyzx
 -rsq r0.w, r0.w
 -mul r0.xyz, r0.wwww, r0.xyzx
 -mov o2.xyz, r0.xyzx
 -mul r1.xyz, r0.yyyy, cb0[1].xyzx
 -mad r0.xyw, cb0[0].xyxz, r0.xxxx, r1.xyxz
 -mad o3.xyz, cb0[2].xyzx, r0.zzzz, r0.xywx
 -ret 
 -// Approximately 57 instruction slots used
 -#endif
 -
 -const BYTE g_ds[] =
 -{
 -     68,  88,  66,  67,   0, 128, 
 -    111,   5, 170,  61, 238,  30, 
 -    169, 104, 139, 245, 182, 233, 
 -    180, 255,   1,   0,   0,   0, 
 -    112,  11,   0,   0,   6,   0, 
 -      0,   0,  56,   0,   0,   0, 
 -     68,   2,   0,   0, 120,   2, 
 -      0,   0,  12,   3,   0,   0, 
 -    168,   3,   0,   0, 212,  10, 
 -      0,   0,  82,  68,  69,  70, 
 -      4,   2,   0,   0,   1,   0, 
 -      0,   0, 104,   0,   0,   0, 
 -      1,   0,   0,   0,  60,   0, 
 -      0,   0,   0,   5,  83,  68, 
 -      0,   1,   0,   0, 210,   1, 
 -      0,   0,  82,  68,  49,  49, 
 -     60,   0,   0,   0,  24,   0, 
 -      0,   0,  32,   0,   0,   0, 
 -     40,   0,   0,   0,  36,   0, 
 -      0,   0,  12,   0,   0,   0, 
 -      0,   0,   0,   0,  92,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     99,  98,  95, 102, 114,  97, 
 -    109, 101,   0, 171, 171, 171, 
 -     92,   0,   0,   0,   5,   0, 
 -      0,   0, 128,   0,   0,   0, 
 -    144,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     72,   1,   0,   0,   0,   0, 
 -      0,   0,  64,   0,   0,   0, 
 -      2,   0,   0,   0,  88,   1, 
 -      0,   0,   0,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0, 255, 255, 255, 255, 
 -      0,   0,   0,   0, 124,   1, 
 -      0,   0,  64,   0,   0,   0, 
 -     64,   0,   0,   0,   2,   0, 
 -      0,   0,  88,   1,   0,   0, 
 -      0,   0,   0,   0, 255, 255, 
 -    255, 255,   0,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0, 134,   1,   0,   0, 
 -    128,   0,   0,   0,   4,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -    152,   1,   0,   0,   0,   0, 
 -      0,   0, 255, 255, 255, 255, 
 -      0,   0,   0,   0, 255, 255, 
 -    255, 255,   0,   0,   0,   0, 
 -    188,   1,   0,   0, 132,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      2,   0,   0,   0, 152,   1, 
 -      0,   0,   0,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0, 255, 255, 255, 255, 
 -      0,   0,   0,   0, 198,   1, 
 -      0,   0, 136,   0,   0,   0, 
 -      4,   0,   0,   0,   0,   0, 
 -      0,   0, 152,   1,   0,   0, 
 -      0,   0,   0,   0, 255, 255, 
 -    255, 255,   0,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0, 109, 111, 100, 101, 
 -    108,   0, 102, 108, 111,  97, 
 -    116,  52, 120,  52,   0, 171, 
 -      3,   0,   3,   0,   4,   0, 
 -      4,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,  78,   1,   0,   0, 
 -    118, 105, 101, 119,  95, 112, 
 -    114, 111, 106,   0, 100, 105, 
 -    115, 112,  95, 115,  99,  97, 
 -    108, 101,   0, 102, 108, 111, 
 -     97, 116,   0, 171,   0,   0, 
 -      3,   0,   1,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -    145,   1,   0,   0, 100, 105, 
 -    115, 112,  95, 102, 114, 101, 
 -    113,   0, 116, 101, 115, 115, 
 -     95, 102,  97,  99, 116, 111, 
 -    114,   0,  77, 105,  99, 114, 
 -    111, 115, 111, 102, 116,  32, 
 -     40,  82,  41,  32,  72,  76, 
 -     83,  76,  32,  83, 104,  97, 
 -    100, 101, 114,  32,  67, 111, 
 -    109, 112, 105, 108, 101, 114, 
 -     32,  57,  46,  50,  57,  46, 
 -     57,  53,  50,  46,  51,  49, 
 -     49,  49,   0, 171,  73,  83, 
 -     71,  78,  44,   0,   0,   0, 
 -      1,   0,   0,   0,   8,   0, 
 -      0,   0,  32,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,   7,   7, 
 -      0,   0,  80,  79,  83,  73, 
 -     84,  73,  79,  78,   0, 171, 
 -    171, 171,  80,  67,  83,  71, 
 -    140,   0,   0,   0,   4,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -    104,   0,   0,   0,   0,   0, 
 -      0,   0,  13,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -    104,   0,   0,   0,   1,   0, 
 -      0,   0,  13,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -    104,   0,   0,   0,   2,   0, 
 -      0,   0,  13,   0,   0,   0, 
 -      3,   0,   0,   0,   2,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -    118,   0,   0,   0,   0,   0, 
 -      0,   0,  14,   0,   0,   0, 
 -      3,   0,   0,   0,   3,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -     83,  86,  95,  84, 101, 115, 
 -    115,  70,  97,  99, 116, 111, 
 -    114,   0,  83,  86,  95,  73, 
 -    110, 115, 105, 100, 101,  84, 
 -    101, 115, 115,  70,  97,  99, 
 -    116, 111, 114,   0, 171, 171, 
 -     79,  83,  71,  78, 148,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      8,   0,   0,   0, 104,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     15,   0,   0,   0, 116,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      7,   8,   0,   0, 123,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -      7,   8,   0,   0, 133,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      7,   8,   0,   0,  83,  86, 
 -     95,  80,  79,  83,  73,  84, 
 -     73,  79,  78,   0,  79,  66, 
 -     74,  80,  79,  83,   0,  79, 
 -     66,  74,  78,  79,  82,  77, 
 -     65,  76,   0,  87,  79,  82, 
 -     76,  68,  78,  79,  82,  77, 
 -     65,  76,   0, 171, 171, 171, 
 -     83,  72,  69,  88,  36,   7, 
 -      0,   0,  80,   0,   4,   0, 
 -    201,   1,   0,   0, 147,  24, 
 -      0,   1, 149,  16,   0,   1, 
 -    106,   8,   0,   1,  89,   0, 
 -      0,   4,  70, 142,  32,   0, 
 -      0,   0,   0,   0,   9,   0, 
 -      0,   0,  95,   0,   0,   2, 
 -    114, 192,   1,   0,  95,   0, 
 -      0,   4, 114, 144,  33,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0, 103,   0,   0,   4, 
 -    242,  32,  16,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -    101,   0,   0,   3, 114,  32, 
 -     16,   0,   1,   0,   0,   0, 
 -    101,   0,   0,   3, 114,  32, 
 -     16,   0,   2,   0,   0,   0, 
 -    101,   0,   0,   3, 114,  32, 
 -     16,   0,   3,   0,   0,   0, 
 -    104,   0,   0,   2,   5,   0, 
 -      0,   0,   0,   0,   0,   8, 
 -     18,   0,  16,   0,   0,   0, 
 -      0,   0,  10, 128,  32,   0, 
 -      0,   0,   0,   0,   8,   0, 
 -      0,   0,   1,  64,   0,   0, 
 -      0,   0, 128,  63,  56,   0, 
 -      0,   7, 226,   0,  16,   0, 
 -      0,   0,   0,   0,  86, 197, 
 -      1,   0,  86, 146,  33,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0,  50,   0,   0,   9, 
 -    226,   0,  16,   0,   0,   0, 
 -      0,   0,  86, 146,  33,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   6, 192,   1,   0, 
 -     86,  14,  16,   0,   0,   0, 
 -      0,   0,  50,   0,   0,   9, 
 -    226,   0,  16,   0,   0,   0, 
 -      0,   0,  86, 146,  33,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0, 166, 202,   1,   0, 
 -     86,  14,  16,   0,   0,   0, 
 -      0,   0,  16,   0,   0,   7, 
 -     18,   0,  16,   0,   1,   0, 
 -      0,   0, 150,   7,  16,   0, 
 -      0,   0,   0,   0, 150,   7, 
 -     16,   0,   0,   0,   0,   0, 
 -     68,   0,   0,   5,  18,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     10,   0,  16,   0,   1,   0, 
 -      0,   0,  56,   0,   0,   7, 
 -    226,   0,  16,   0,   0,   0, 
 -      0,   0,  86,  14,  16,   0, 
 -      0,   0,   0,   0,   6,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     56,   0,   0,   8, 114,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -    118,  14,  16,   0,   0,   0, 
 -      0,   0,  86, 133,  32,   0, 
 -      0,   0,   0,   0,   8,   0, 
 -      0,   0,  77,   0,   0,   6, 
 -      0, 208,   0,   0, 114,   0, 
 -     16,   0,   2,   0,   0,   0, 
 -     38,   9,  16,   0,   1,   0, 
 -      0,   0,  77,   0,   0,   7, 
 -    114,   0,  16,   0,   1,   0, 
 -      0,   0,   0, 208,   0,   0, 
 -     70,   2,  16, 128,  65,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -     56,   0,   0,   8, 114,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,   2,  16,   0,   1,   0, 
 -      0,   0,  86, 133,  32,   0, 
 -      0,   0,   0,   0,   8,   0, 
 -      0,   0,  56,   0,   0,   7, 
 -    114,   0,  16,   0,   1,   0, 
 -      0,   0,  38,   9,  16,   0, 
 -      2,   0,   0,   0,  70,   2, 
 -     16,   0,   1,   0,   0,   0, 
 -     56,   0,   0,   7, 114,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,   2,  16,   0,   2,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      1,   0,   0,   0,  56,   0, 
 -      0,   8, 114,   0,  16,   0, 
 -      1,   0,   0,   0,  70,   2, 
 -     16,   0,   1,   0,   0,   0, 
 -      6, 128,  32,   0,   0,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   7, 130,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     42,   0,  16,   0,   2,   0, 
 -      0,   0,  26,   0,  16,   0, 
 -      2,   0,   0,   0,  56,   0, 
 -      0,   7, 130,   0,  16,   0, 
 -      1,   0,   0,   0,  10,   0, 
 -     16,   0,   2,   0,   0,   0, 
 -     58,   0,  16,   0,   1,   0, 
 -      0,   0,  50,   0,   0,  10, 
 -    130,   0,  16,   0,   1,   0, 
 -      0,   0,  58,   0,  16,   0, 
 -      1,   0,   0,   0,  10, 128, 
 -     32,   0,   0,   0,   0,   0, 
 -      8,   0,   0,   0,   1,  64, 
 -      0,   0,   0,   0, 128,  63, 
 -     56,   0,   0,   7, 114,   0, 
 -     16,   0,   2,   0,   0,   0, 
 -    118,  14,  16,   0,   0,   0, 
 -      0,   0, 246,  15,  16,   0, 
 -      1,   0,   0,   0,  14,   0, 
 -      0,   7, 114,   0,  16,   0, 
 -      2,   0,   0,   0,  70,   2, 
 -     16,   0,   2,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0,  56,   0,   0,   8, 
 -    114,   0,  16,   0,   3,   0, 
 -      0,   0,  86,   5,  16,   0, 
 -      2,   0,   0,   0,  70, 130, 
 -     32,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,  50,   0, 
 -      0,  10, 114,   0,  16,   0, 
 -      3,   0,   0,   0,  70, 130, 
 -     32,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   6,   0, 
 -     16,   0,   2,   0,   0,   0, 
 -     70,   2,  16,   0,   3,   0, 
 -      0,   0,  50,   0,   0,  10, 
 -    114,   0,  16,   0,   3,   0, 
 -      0,   0,  70, 130,  32,   0, 
 -      0,   0,   0,   0,   2,   0, 
 -      0,   0, 166,  10,  16,   0, 
 -      2,   0,   0,   0,  70,   2, 
 -     16,   0,   3,   0,   0,   0, 
 -     54,   0,   0,   5, 114,  32, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,   2,  16,   0,   2,   0, 
 -      0,   0,   0,   0,   0,   8, 
 -    114,   0,  16,   0,   2,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      3,   0,   0,   0,  70, 130, 
 -     32,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,  56,   0, 
 -      0,   8, 242,   0,  16,   0, 
 -      3,   0,   0,   0,  86,   5, 
 -     16,   0,   2,   0,   0,   0, 
 -     70, 142,  32,   0,   0,   0, 
 -      0,   0,   5,   0,   0,   0, 
 -     50,   0,   0,  10, 242,   0, 
 -     16,   0,   3,   0,   0,   0, 
 -     70, 142,  32,   0,   0,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      6,   0,  16,   0,   2,   0, 
 -      0,   0,  70,  14,  16,   0, 
 -      3,   0,   0,   0,  50,   0, 
 -      0,  10, 242,   0,  16,   0, 
 -      2,   0,   0,   0,  70, 142, 
 -     32,   0,   0,   0,   0,   0, 
 -      6,   0,   0,   0, 166,  10, 
 -     16,   0,   2,   0,   0,   0, 
 -     70,  14,  16,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   8, 
 -    242,  32,  16,   0,   0,   0, 
 -      0,   0,  70,  14,  16,   0, 
 -      2,   0,   0,   0,  70, 142, 
 -     32,   0,   0,   0,   0,   0, 
 -      7,   0,   0,   0,  54,   0, 
 -      0,   5,  34,   0,  16,   0, 
 -      2,   0,   0,   0,   1,  64, 
 -      0,   0,   0,   0,   0,   0, 
 -     49,   0,   0,   9,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     26,   0,  16, 128, 129,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     58,   0,  16, 128, 129,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     56,   0,   0,  10,  82,   0, 
 -     16,   0,   2,   0,   0,   0, 
 -    166,  11,  16,   0,   0,   0, 
 -      0,   0,   2,  64,   0,   0, 
 -      0,   0, 128, 191,   0,   0, 
 -      0,   0,   0,   0, 128,  63, 
 -      0,   0,   0,   0,  54,   0, 
 -      0,   5, 130,   0,  16,   0, 
 -      2,   0,   0,   0,  26,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     55,   0,   0,   9, 114,   0, 
 -     16,   0,   2,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0,  38,   9,  16,   0, 
 -      2,   0,   0,   0, 118,  12, 
 -     16,   0,   2,   0,   0,   0, 
 -     16,   0,   0,   7,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   2,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      2,   0,   0,   0,  68,   0, 
 -      0,   5,  18,   0,  16,   0, 
 -      0,   0,   0,   0,  10,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     56,   0,   0,   7, 114,   0, 
 -     16,   0,   2,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      2,   0,   0,   0,  56,   0, 
 -      0,   7, 114,   0,  16,   0, 
 -      3,   0,   0,   0, 118,  14, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   2,   0, 
 -      0,   0,  50,   0,   0,  10, 
 -    114,   0,  16,   0,   3,   0, 
 -      0,   0, 230,   9,  16,   0, 
 -      0,   0,   0,   0, 150,   4, 
 -     16,   0,   2,   0,   0,   0, 
 -     70,   2,  16, 128,  65,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -     16,   0,   0,   7,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   3,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      3,   0,   0,   0,  68,   0, 
 -      0,   5,  18,   0,  16,   0, 
 -      0,   0,   0,   0,  10,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     56,   0,   0,   7, 114,   0, 
 -     16,   0,   3,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      3,   0,   0,   0,  16,   0, 
 -      0,   7,  18,   0,  16,   0, 
 -      0,   0,   0,   0, 150,   4, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,   2,  16,   0,   3,   0, 
 -      0,   0,  56,   0,   0,   7, 
 -    114,   0,  16,   0,   3,   0, 
 -      0,   0, 246,  15,  16,   0, 
 -      1,   0,   0,   0,  70,   2, 
 -     16,   0,   3,   0,   0,   0, 
 -     56,   0,   0,   7, 114,   0, 
 -     16,   0,   4,   0,   0,   0, 
 -    246,  15,  16,   0,   1,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      2,   0,   0,   0,  16,   0, 
 -      0,   7,  18,   0,  16,   0, 
 -      1,   0,   0,   0,  38,   9, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,   2,  16,   0,   2,   0, 
 -      0,   0,  50,   0,   0,   9, 
 -    114,   0,  16,   0,   1,   0, 
 -      0,   0, 230,   9,  16,   0, 
 -      0,   0,   0,   0,   6,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,   2,  16,   0,   4,   0, 
 -      0,   0,  50,   0,   0,   9, 
 -    114,   0,  16,   0,   0,   0, 
 -      0,   0, 150,   7,  16,   0, 
 -      0,   0,   0,   0,   6,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   3,   0, 
 -      0,   0,  56,   0,   0,   7, 
 -    114,   0,  16,   0,   2,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      0,   0,   0,   0,  70,   2, 
 -     16,   0,   1,   0,   0,   0, 
 -     50,   0,   0,  10, 114,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     38,   9,  16,   0,   1,   0, 
 -      0,   0, 150,   4,  16,   0, 
 -      0,   0,   0,   0,  70,   2, 
 -     16, 128,  65,   0,   0,   0, 
 -      2,   0,   0,   0,  16,   0, 
 -      0,   7, 130,   0,  16,   0, 
 -      0,   0,   0,   0,  70,   2, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   0,   0, 
 -      0,   0,  68,   0,   0,   5, 
 -    130,   0,  16,   0,   0,   0, 
 -      0,   0,  58,   0,  16,   0, 
 -      0,   0,   0,   0,  56,   0, 
 -      0,   7, 114,   0,  16,   0, 
 -      0,   0,   0,   0, 246,  15, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   2,  16,   0,   0,   0, 
 -      0,   0,  54,   0,   0,   5, 
 -    114,  32,  16,   0,   2,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      0,   0,   0,   0,  56,   0, 
 -      0,   8, 114,   0,  16,   0, 
 -      1,   0,   0,   0,  86,   5, 
 -     16,   0,   0,   0,   0,   0, 
 -     70, 130,  32,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -     50,   0,   0,  10, 178,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70, 136,  32,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0,  70,   8,  16,   0, 
 -      1,   0,   0,   0,  50,   0, 
 -      0,  10, 114,  32,  16,   0, 
 -      3,   0,   0,   0,  70, 130, 
 -     32,   0,   0,   0,   0,   0, 
 -      2,   0,   0,   0, 166,  10, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,   3,  16,   0,   0,   0, 
 -      0,   0,  62,   0,   0,   1, 
 -     83,  84,  65,  84, 148,   0, 
 -      0,   0,  57,   0,   0,   0, 
 -      5,   0,   0,   0,   0,   0, 
 -      0,   0,   6,   0,   0,   0, 
 -     38,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      4,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11spikysphere.hlsl.ds.h /Eds /Tds_5_0 d3d11spikysphere.hlsl +// +// +// Buffer Definitions:  +// +// cbuffer cb_frame +// { +// +//   float4x4 model;                    // Offset:    0 Size:    64 +//   float4x4 view_proj;                // Offset:   64 Size:    64 +//   float disp_scale;                  // Offset:  128 Size:     4 +//   float disp_freq;                   // Offset:  132 Size:     4 +//   float tess_factor;                 // Offset:  136 Size:     4 [unused] +// +// } +// +// +// Resource Bindings: +// +// Name                                 Type  Format         Dim Slot Elements +// ------------------------------ ---------- ------- ----------- ---- -------- +// cb_frame                          cbuffer      NA          NA    0        1 +// +// +// +// Patch Constant signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_TessFactor            0   x           0  TRIEDGE  float        +// SV_TessFactor            1   x           1  TRIEDGE  float        +// SV_TessFactor            2   x           2  TRIEDGE  float        +// SV_InsideTessFactor      0   x           3   TRIINT  float        +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyz         0     NONE  float   xyz  +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float   xyzw +// OBJPOS                   0   xyz         1     NONE  float   xyz  +// OBJNORMAL                0   xyz         2     NONE  float   xyz  +// WORLDNORMAL              0   xyz         3     NONE  float   xyz  +// +// Tessellation Domain   # of control points +// -------------------- -------------------- +// Triangle                                3 +// +ds_5_0 +dcl_input_control_point_count 3 +dcl_tessellator_domain domain_tri +dcl_globalFlags refactoringAllowed +dcl_constantbuffer cb0[9], immediateIndexed +dcl_input vDomain.xyz +dcl_input vicp[3][0].xyz +dcl_output_siv o0.xyzw, position +dcl_output o1.xyz +dcl_output o2.xyz +dcl_output o3.xyz +dcl_temps 5 +add r0.x, cb0[8].x, l(1.000000) +mul r0.yzw, vDomain.yyyy, vicp[1][0].yyzx +mad r0.yzw, vicp[0][0].yyzx, vDomain.xxxx, r0.yyzw +mad r0.yzw, vicp[2][0].yyzx, vDomain.zzzz, r0.yyzw +dp3 r1.x, r0.yzwy, r0.yzwy +rsq r1.x, r1.x +mul r0.yzw, r0.yyzw, r1.xxxx +mul r1.xyz, r0.wyzw, cb0[8].yyyy +sincos null, r2.xyz, r1.zxyz +sincos r1.xyz, null, -r1.xyzx +mul r1.xyz, r1.xyzx, cb0[8].yyyy +mul r1.xyz, r2.zxyz, r1.xyzx +mul r1.xyz, r2.xyzx, r1.xyzx +mul r1.xyz, r1.xyzx, cb0[8].xxxx +mul r1.w, r2.z, r2.y +mul r1.w, r2.x, r1.w +mad r1.w, r1.w, cb0[8].x, l(1.000000) +mul r2.xyz, r0.wyzw, r1.wwww +div r2.xyz, r2.xyzx, r0.xxxx +mul r3.xyz, r2.yyyy, cb0[1].xyzx +mad r3.xyz, cb0[0].xyzx, r2.xxxx, r3.xyzx +mad r3.xyz, cb0[2].xyzx, r2.zzzz, r3.xyzx +mov o1.xyz, r2.xyzx +add r2.xyz, r3.xyzx, cb0[3].xyzx +mul r3.xyzw, r2.yyyy, cb0[5].xyzw +mad r3.xyzw, cb0[4].xyzw, r2.xxxx, r3.xyzw +mad r2.xyzw, cb0[6].xyzw, r2.zzzz, r3.xyzw +add o0.xyzw, r2.xyzw, cb0[7].xyzw +mov r2.y, l(0) +lt r0.x, |r0.y|, |r0.w| +mul r2.xz, r0.zzwz, l(-1.000000, 0.000000, 1.000000, 0.000000) +mov r2.w, r0.y +movc r2.xyz, r0.xxxx, r2.zxyz, r2.wyxw +dp3 r0.x, r2.xyzx, r2.xyzx +rsq r0.x, r0.x +mul r2.xyz, r0.xxxx, r2.xyzx +mul r3.xyz, r0.wyzw, r2.xyzx +mad r3.xyz, r0.zwyz, r2.yzxy, -r3.xyzx +dp3 r0.x, r3.xyzx, r3.xyzx +rsq r0.x, r0.x +mul r3.xyz, r0.xxxx, r3.xyzx +dp3 r0.x, r1.yzxy, r3.xyzx +mul r3.xyz, r1.wwww, r3.xyzx +mul r4.xyz, r1.wwww, r2.xyzx +dp3 r1.x, r1.zxyz, r2.xyzx +mad r1.xyz, r0.zwyz, r1.xxxx, r4.xyzx +mad r0.xyz, r0.yzwy, r0.xxxx, r3.xyzx +mul r2.xyz, r0.xyzx, r1.xyzx +mad r0.xyz, r1.zxyz, r0.yzxy, -r2.xyzx +dp3 r0.w, r0.xyzx, r0.xyzx +rsq r0.w, r0.w +mul r0.xyz, r0.wwww, r0.xyzx +mov o2.xyz, r0.xyzx +mul r1.xyz, r0.yyyy, cb0[1].xyzx +mad r0.xyw, cb0[0].xyxz, r0.xxxx, r1.xyxz +mad o3.xyz, cb0[2].xyzx, r0.zzzz, r0.xywx +ret  +// Approximately 57 instruction slots used +#endif + +const BYTE g_ds[] = +{ +     68,  88,  66,  67,   0, 128,  +    111,   5, 170,  61, 238,  30,  +    169, 104, 139, 245, 182, 233,  +    180, 255,   1,   0,   0,   0,  +    112,  11,   0,   0,   6,   0,  +      0,   0,  56,   0,   0,   0,  +     68,   2,   0,   0, 120,   2,  +      0,   0,  12,   3,   0,   0,  +    168,   3,   0,   0, 212,  10,  +      0,   0,  82,  68,  69,  70,  +      4,   2,   0,   0,   1,   0,  +      0,   0, 104,   0,   0,   0,  +      1,   0,   0,   0,  60,   0,  +      0,   0,   0,   5,  83,  68,  +      0,   1,   0,   0, 210,   1,  +      0,   0,  82,  68,  49,  49,  +     60,   0,   0,   0,  24,   0,  +      0,   0,  32,   0,   0,   0,  +     40,   0,   0,   0,  36,   0,  +      0,   0,  12,   0,   0,   0,  +      0,   0,   0,   0,  92,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +     99,  98,  95, 102, 114,  97,  +    109, 101,   0, 171, 171, 171,  +     92,   0,   0,   0,   5,   0,  +      0,   0, 128,   0,   0,   0,  +    144,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     72,   1,   0,   0,   0,   0,  +      0,   0,  64,   0,   0,   0,  +      2,   0,   0,   0,  88,   1,  +      0,   0,   0,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0, 255, 255, 255, 255,  +      0,   0,   0,   0, 124,   1,  +      0,   0,  64,   0,   0,   0,  +     64,   0,   0,   0,   2,   0,  +      0,   0,  88,   1,   0,   0,  +      0,   0,   0,   0, 255, 255,  +    255, 255,   0,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0, 134,   1,   0,   0,  +    128,   0,   0,   0,   4,   0,  +      0,   0,   2,   0,   0,   0,  +    152,   1,   0,   0,   0,   0,  +      0,   0, 255, 255, 255, 255,  +      0,   0,   0,   0, 255, 255,  +    255, 255,   0,   0,   0,   0,  +    188,   1,   0,   0, 132,   0,  +      0,   0,   4,   0,   0,   0,  +      2,   0,   0,   0, 152,   1,  +      0,   0,   0,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0, 255, 255, 255, 255,  +      0,   0,   0,   0, 198,   1,  +      0,   0, 136,   0,   0,   0,  +      4,   0,   0,   0,   0,   0,  +      0,   0, 152,   1,   0,   0,  +      0,   0,   0,   0, 255, 255,  +    255, 255,   0,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0, 109, 111, 100, 101,  +    108,   0, 102, 108, 111,  97,  +    116,  52, 120,  52,   0, 171,  +      3,   0,   3,   0,   4,   0,  +      4,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,  78,   1,   0,   0,  +    118, 105, 101, 119,  95, 112,  +    114, 111, 106,   0, 100, 105,  +    115, 112,  95, 115,  99,  97,  +    108, 101,   0, 102, 108, 111,  +     97, 116,   0, 171,   0,   0,  +      3,   0,   1,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +    145,   1,   0,   0, 100, 105,  +    115, 112,  95, 102, 114, 101,  +    113,   0, 116, 101, 115, 115,  +     95, 102,  97,  99, 116, 111,  +    114,   0,  77, 105,  99, 114,  +    111, 115, 111, 102, 116,  32,  +     40,  82,  41,  32,  72,  76,  +     83,  76,  32,  83, 104,  97,  +    100, 101, 114,  32,  67, 111,  +    109, 112, 105, 108, 101, 114,  +     32,  57,  46,  50,  57,  46,  +     57,  53,  50,  46,  51,  49,  +     49,  49,   0, 171,  73,  83,  +     71,  78,  44,   0,   0,   0,  +      1,   0,   0,   0,   8,   0,  +      0,   0,  32,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,   7,   7,  +      0,   0,  80,  79,  83,  73,  +     84,  73,  79,  78,   0, 171,  +    171, 171,  80,  67,  83,  71,  +    140,   0,   0,   0,   4,   0,  +      0,   0,   8,   0,   0,   0,  +    104,   0,   0,   0,   0,   0,  +      0,   0,  13,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +    104,   0,   0,   0,   1,   0,  +      0,   0,  13,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,   1,   0,   0,   0,  +    104,   0,   0,   0,   2,   0,  +      0,   0,  13,   0,   0,   0,  +      3,   0,   0,   0,   2,   0,  +      0,   0,   1,   0,   0,   0,  +    118,   0,   0,   0,   0,   0,  +      0,   0,  14,   0,   0,   0,  +      3,   0,   0,   0,   3,   0,  +      0,   0,   1,   0,   0,   0,  +     83,  86,  95,  84, 101, 115,  +    115,  70,  97,  99, 116, 111,  +    114,   0,  83,  86,  95,  73,  +    110, 115, 105, 100, 101,  84,  +    101, 115, 115,  70,  97,  99,  +    116, 111, 114,   0, 171, 171,  +     79,  83,  71,  78, 148,   0,  +      0,   0,   4,   0,   0,   0,  +      8,   0,   0,   0, 104,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +     15,   0,   0,   0, 116,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   1,   0,   0,   0,  +      7,   8,   0,   0, 123,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   2,   0,   0,   0,  +      7,   8,   0,   0, 133,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   3,   0,   0,   0,  +      7,   8,   0,   0,  83,  86,  +     95,  80,  79,  83,  73,  84,  +     73,  79,  78,   0,  79,  66,  +     74,  80,  79,  83,   0,  79,  +     66,  74,  78,  79,  82,  77,  +     65,  76,   0,  87,  79,  82,  +     76,  68,  78,  79,  82,  77,  +     65,  76,   0, 171, 171, 171,  +     83,  72,  69,  88,  36,   7,  +      0,   0,  80,   0,   4,   0,  +    201,   1,   0,   0, 147,  24,  +      0,   1, 149,  16,   0,   1,  +    106,   8,   0,   1,  89,   0,  +      0,   4,  70, 142,  32,   0,  +      0,   0,   0,   0,   9,   0,  +      0,   0,  95,   0,   0,   2,  +    114, 192,   1,   0,  95,   0,  +      0,   4, 114, 144,  33,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0, 103,   0,   0,   4,  +    242,  32,  16,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +    101,   0,   0,   3, 114,  32,  +     16,   0,   1,   0,   0,   0,  +    101,   0,   0,   3, 114,  32,  +     16,   0,   2,   0,   0,   0,  +    101,   0,   0,   3, 114,  32,  +     16,   0,   3,   0,   0,   0,  +    104,   0,   0,   2,   5,   0,  +      0,   0,   0,   0,   0,   8,  +     18,   0,  16,   0,   0,   0,  +      0,   0,  10, 128,  32,   0,  +      0,   0,   0,   0,   8,   0,  +      0,   0,   1,  64,   0,   0,  +      0,   0, 128,  63,  56,   0,  +      0,   7, 226,   0,  16,   0,  +      0,   0,   0,   0,  86, 197,  +      1,   0,  86, 146,  33,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0,  50,   0,   0,   9,  +    226,   0,  16,   0,   0,   0,  +      0,   0,  86, 146,  33,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   6, 192,   1,   0,  +     86,  14,  16,   0,   0,   0,  +      0,   0,  50,   0,   0,   9,  +    226,   0,  16,   0,   0,   0,  +      0,   0,  86, 146,  33,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0, 166, 202,   1,   0,  +     86,  14,  16,   0,   0,   0,  +      0,   0,  16,   0,   0,   7,  +     18,   0,  16,   0,   1,   0,  +      0,   0, 150,   7,  16,   0,  +      0,   0,   0,   0, 150,   7,  +     16,   0,   0,   0,   0,   0,  +     68,   0,   0,   5,  18,   0,  +     16,   0,   1,   0,   0,   0,  +     10,   0,  16,   0,   1,   0,  +      0,   0,  56,   0,   0,   7,  +    226,   0,  16,   0,   0,   0,  +      0,   0,  86,  14,  16,   0,  +      0,   0,   0,   0,   6,   0,  +     16,   0,   1,   0,   0,   0,  +     56,   0,   0,   8, 114,   0,  +     16,   0,   1,   0,   0,   0,  +    118,  14,  16,   0,   0,   0,  +      0,   0,  86, 133,  32,   0,  +      0,   0,   0,   0,   8,   0,  +      0,   0,  77,   0,   0,   6,  +      0, 208,   0,   0, 114,   0,  +     16,   0,   2,   0,   0,   0,  +     38,   9,  16,   0,   1,   0,  +      0,   0,  77,   0,   0,   7,  +    114,   0,  16,   0,   1,   0,  +      0,   0,   0, 208,   0,   0,  +     70,   2,  16, 128,  65,   0,  +      0,   0,   1,   0,   0,   0,  +     56,   0,   0,   8, 114,   0,  +     16,   0,   1,   0,   0,   0,  +     70,   2,  16,   0,   1,   0,  +      0,   0,  86, 133,  32,   0,  +      0,   0,   0,   0,   8,   0,  +      0,   0,  56,   0,   0,   7,  +    114,   0,  16,   0,   1,   0,  +      0,   0,  38,   9,  16,   0,  +      2,   0,   0,   0,  70,   2,  +     16,   0,   1,   0,   0,   0,  +     56,   0,   0,   7, 114,   0,  +     16,   0,   1,   0,   0,   0,  +     70,   2,  16,   0,   2,   0,  +      0,   0,  70,   2,  16,   0,  +      1,   0,   0,   0,  56,   0,  +      0,   8, 114,   0,  16,   0,  +      1,   0,   0,   0,  70,   2,  +     16,   0,   1,   0,   0,   0,  +      6, 128,  32,   0,   0,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   7, 130,   0,  +     16,   0,   1,   0,   0,   0,  +     42,   0,  16,   0,   2,   0,  +      0,   0,  26,   0,  16,   0,  +      2,   0,   0,   0,  56,   0,  +      0,   7, 130,   0,  16,   0,  +      1,   0,   0,   0,  10,   0,  +     16,   0,   2,   0,   0,   0,  +     58,   0,  16,   0,   1,   0,  +      0,   0,  50,   0,   0,  10,  +    130,   0,  16,   0,   1,   0,  +      0,   0,  58,   0,  16,   0,  +      1,   0,   0,   0,  10, 128,  +     32,   0,   0,   0,   0,   0,  +      8,   0,   0,   0,   1,  64,  +      0,   0,   0,   0, 128,  63,  +     56,   0,   0,   7, 114,   0,  +     16,   0,   2,   0,   0,   0,  +    118,  14,  16,   0,   0,   0,  +      0,   0, 246,  15,  16,   0,  +      1,   0,   0,   0,  14,   0,  +      0,   7, 114,   0,  16,   0,  +      2,   0,   0,   0,  70,   2,  +     16,   0,   2,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0,  56,   0,   0,   8,  +    114,   0,  16,   0,   3,   0,  +      0,   0,  86,   5,  16,   0,  +      2,   0,   0,   0,  70, 130,  +     32,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,  50,   0,  +      0,  10, 114,   0,  16,   0,  +      3,   0,   0,   0,  70, 130,  +     32,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   6,   0,  +     16,   0,   2,   0,   0,   0,  +     70,   2,  16,   0,   3,   0,  +      0,   0,  50,   0,   0,  10,  +    114,   0,  16,   0,   3,   0,  +      0,   0,  70, 130,  32,   0,  +      0,   0,   0,   0,   2,   0,  +      0,   0, 166,  10,  16,   0,  +      2,   0,   0,   0,  70,   2,  +     16,   0,   3,   0,   0,   0,  +     54,   0,   0,   5, 114,  32,  +     16,   0,   1,   0,   0,   0,  +     70,   2,  16,   0,   2,   0,  +      0,   0,   0,   0,   0,   8,  +    114,   0,  16,   0,   2,   0,  +      0,   0,  70,   2,  16,   0,  +      3,   0,   0,   0,  70, 130,  +     32,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,  56,   0,  +      0,   8, 242,   0,  16,   0,  +      3,   0,   0,   0,  86,   5,  +     16,   0,   2,   0,   0,   0,  +     70, 142,  32,   0,   0,   0,  +      0,   0,   5,   0,   0,   0,  +     50,   0,   0,  10, 242,   0,  +     16,   0,   3,   0,   0,   0,  +     70, 142,  32,   0,   0,   0,  +      0,   0,   4,   0,   0,   0,  +      6,   0,  16,   0,   2,   0,  +      0,   0,  70,  14,  16,   0,  +      3,   0,   0,   0,  50,   0,  +      0,  10, 242,   0,  16,   0,  +      2,   0,   0,   0,  70, 142,  +     32,   0,   0,   0,   0,   0,  +      6,   0,   0,   0, 166,  10,  +     16,   0,   2,   0,   0,   0,  +     70,  14,  16,   0,   3,   0,  +      0,   0,   0,   0,   0,   8,  +    242,  32,  16,   0,   0,   0,  +      0,   0,  70,  14,  16,   0,  +      2,   0,   0,   0,  70, 142,  +     32,   0,   0,   0,   0,   0,  +      7,   0,   0,   0,  54,   0,  +      0,   5,  34,   0,  16,   0,  +      2,   0,   0,   0,   1,  64,  +      0,   0,   0,   0,   0,   0,  +     49,   0,   0,   9,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     26,   0,  16, 128, 129,   0,  +      0,   0,   0,   0,   0,   0,  +     58,   0,  16, 128, 129,   0,  +      0,   0,   0,   0,   0,   0,  +     56,   0,   0,  10,  82,   0,  +     16,   0,   2,   0,   0,   0,  +    166,  11,  16,   0,   0,   0,  +      0,   0,   2,  64,   0,   0,  +      0,   0, 128, 191,   0,   0,  +      0,   0,   0,   0, 128,  63,  +      0,   0,   0,   0,  54,   0,  +      0,   5, 130,   0,  16,   0,  +      2,   0,   0,   0,  26,   0,  +     16,   0,   0,   0,   0,   0,  +     55,   0,   0,   9, 114,   0,  +     16,   0,   2,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0,  38,   9,  16,   0,  +      2,   0,   0,   0, 118,  12,  +     16,   0,   2,   0,   0,   0,  +     16,   0,   0,   7,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   2,   0,  +      0,   0,  70,   2,  16,   0,  +      2,   0,   0,   0,  68,   0,  +      0,   5,  18,   0,  16,   0,  +      0,   0,   0,   0,  10,   0,  +     16,   0,   0,   0,   0,   0,  +     56,   0,   0,   7, 114,   0,  +     16,   0,   2,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0,  70,   2,  16,   0,  +      2,   0,   0,   0,  56,   0,  +      0,   7, 114,   0,  16,   0,  +      3,   0,   0,   0, 118,  14,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   2,   0,  +      0,   0,  50,   0,   0,  10,  +    114,   0,  16,   0,   3,   0,  +      0,   0, 230,   9,  16,   0,  +      0,   0,   0,   0, 150,   4,  +     16,   0,   2,   0,   0,   0,  +     70,   2,  16, 128,  65,   0,  +      0,   0,   3,   0,   0,   0,  +     16,   0,   0,   7,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   3,   0,  +      0,   0,  70,   2,  16,   0,  +      3,   0,   0,   0,  68,   0,  +      0,   5,  18,   0,  16,   0,  +      0,   0,   0,   0,  10,   0,  +     16,   0,   0,   0,   0,   0,  +     56,   0,   0,   7, 114,   0,  +     16,   0,   3,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0,  70,   2,  16,   0,  +      3,   0,   0,   0,  16,   0,  +      0,   7,  18,   0,  16,   0,  +      0,   0,   0,   0, 150,   4,  +     16,   0,   1,   0,   0,   0,  +     70,   2,  16,   0,   3,   0,  +      0,   0,  56,   0,   0,   7,  +    114,   0,  16,   0,   3,   0,  +      0,   0, 246,  15,  16,   0,  +      1,   0,   0,   0,  70,   2,  +     16,   0,   3,   0,   0,   0,  +     56,   0,   0,   7, 114,   0,  +     16,   0,   4,   0,   0,   0,  +    246,  15,  16,   0,   1,   0,  +      0,   0,  70,   2,  16,   0,  +      2,   0,   0,   0,  16,   0,  +      0,   7,  18,   0,  16,   0,  +      1,   0,   0,   0,  38,   9,  +     16,   0,   1,   0,   0,   0,  +     70,   2,  16,   0,   2,   0,  +      0,   0,  50,   0,   0,   9,  +    114,   0,  16,   0,   1,   0,  +      0,   0, 230,   9,  16,   0,  +      0,   0,   0,   0,   6,   0,  +     16,   0,   1,   0,   0,   0,  +     70,   2,  16,   0,   4,   0,  +      0,   0,  50,   0,   0,   9,  +    114,   0,  16,   0,   0,   0,  +      0,   0, 150,   7,  16,   0,  +      0,   0,   0,   0,   6,   0,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   3,   0,  +      0,   0,  56,   0,   0,   7,  +    114,   0,  16,   0,   2,   0,  +      0,   0,  70,   2,  16,   0,  +      0,   0,   0,   0,  70,   2,  +     16,   0,   1,   0,   0,   0,  +     50,   0,   0,  10, 114,   0,  +     16,   0,   0,   0,   0,   0,  +     38,   9,  16,   0,   1,   0,  +      0,   0, 150,   4,  16,   0,  +      0,   0,   0,   0,  70,   2,  +     16, 128,  65,   0,   0,   0,  +      2,   0,   0,   0,  16,   0,  +      0,   7, 130,   0,  16,   0,  +      0,   0,   0,   0,  70,   2,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   0,   0,  +      0,   0,  68,   0,   0,   5,  +    130,   0,  16,   0,   0,   0,  +      0,   0,  58,   0,  16,   0,  +      0,   0,   0,   0,  56,   0,  +      0,   7, 114,   0,  16,   0,  +      0,   0,   0,   0, 246,  15,  +     16,   0,   0,   0,   0,   0,  +     70,   2,  16,   0,   0,   0,  +      0,   0,  54,   0,   0,   5,  +    114,  32,  16,   0,   2,   0,  +      0,   0,  70,   2,  16,   0,  +      0,   0,   0,   0,  56,   0,  +      0,   8, 114,   0,  16,   0,  +      1,   0,   0,   0,  86,   5,  +     16,   0,   0,   0,   0,   0,  +     70, 130,  32,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +     50,   0,   0,  10, 178,   0,  +     16,   0,   0,   0,   0,   0,  +     70, 136,  32,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0,  70,   8,  16,   0,  +      1,   0,   0,   0,  50,   0,  +      0,  10, 114,  32,  16,   0,  +      3,   0,   0,   0,  70, 130,  +     32,   0,   0,   0,   0,   0,  +      2,   0,   0,   0, 166,  10,  +     16,   0,   0,   0,   0,   0,  +     70,   3,  16,   0,   0,   0,  +      0,   0,  62,   0,   0,   1,  +     83,  84,  65,  84, 148,   0,  +      0,   0,  57,   0,   0,   0,  +      5,   0,   0,   0,   0,   0,  +      0,   0,   6,   0,   0,   0,  +     38,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      4,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   2,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.hs.h b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.hs.h index 316bcdfedd..d37502a5a8 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.hs.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.hs.h @@ -1,297 +1,297 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11spikysphere.hlsl.hs.h /Ehs /Ths_5_0 d3d11spikysphere.hlsl
 -//
 -//
 -// Buffer Definitions: 
 -//
 -// cbuffer cb_frame
 -// {
 -//
 -//   float4x4 model;                    // Offset:    0 Size:    64 [unused]
 -//   float4x4 view_proj;                // Offset:   64 Size:    64 [unused]
 -//   float disp_scale;                  // Offset:  128 Size:     4 [unused]
 -//   float disp_freq;                   // Offset:  132 Size:     4 [unused]
 -//   float tess_factor;                 // Offset:  136 Size:     4
 -//
 -// }
 -//
 -//
 -// Resource Bindings:
 -//
 -// Name                                 Type  Format         Dim Slot Elements
 -// ------------------------------ ---------- ------- ----------- ---- --------
 -// cb_frame                          cbuffer      NA          NA    0        1
 -//
 -//
 -//
 -// Patch Constant signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_TessFactor            0   x           0  TRIEDGE  float   x   
 -// SV_TessFactor            1   x           1  TRIEDGE  float   x   
 -// SV_TessFactor            2   x           2  TRIEDGE  float   x   
 -// SV_InsideTessFactor      0   x           3   TRIINT  float   x   
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyz         0     NONE  float   xyz 
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyz         0     NONE  float   xyz 
 -//
 -// Tessellation Domain   # of control points
 -// -------------------- --------------------
 -// Triangle                                3
 -//
 -// Tessellation Output Primitive  Partitioning Type 
 -// ------------------------------ ------------------
 -// Clockwise Triangles            Even Fractional   
 -//
 -hs_5_0
 -hs_decls 
 -dcl_input_control_point_count 3
 -dcl_output_control_point_count 3
 -dcl_tessellator_domain domain_tri
 -dcl_tessellator_partitioning partitioning_fractional_even
 -dcl_tessellator_output_primitive output_triangle_cw
 -dcl_globalFlags refactoringAllowed
 -dcl_constantbuffer cb0[9], immediateIndexed
 -hs_fork_phase 
 -dcl_hs_fork_phase_instance_count 3
 -dcl_input vForkInstanceID
 -dcl_output_siv o0.x, finalTriUeq0EdgeTessFactor
 -dcl_output_siv o1.x, finalTriVeq0EdgeTessFactor
 -dcl_output_siv o2.x, finalTriWeq0EdgeTessFactor
 -dcl_temps 1
 -dcl_indexrange o0.x 3
 -mov r0.x, vForkInstanceID.x
 -mov o[r0.x + 0].x, cb0[8].z
 -ret 
 -hs_fork_phase 
 -dcl_output_siv o3.x, finalTriInsideTessFactor
 -mov o3.x, cb0[8].z
 -ret 
 -// Approximately 5 instruction slots used
 -#endif
 -
 -const BYTE g_hs[] =
 -{
 -     68,  88,  66,  67, 174,  23, 
 -    253, 184, 171, 234, 181, 122, 
 -    114,  17,  23, 172,  69, 130, 
 -     17,  19,   1,   0,   0,   0, 
 -    212,   4,   0,   0,   6,   0, 
 -      0,   0,  56,   0,   0,   0, 
 -     68,   2,   0,   0, 120,   2, 
 -      0,   0, 172,   2,   0,   0, 
 -     64,   3,   0,   0,  56,   4, 
 -      0,   0,  82,  68,  69,  70, 
 -      4,   2,   0,   0,   1,   0, 
 -      0,   0, 104,   0,   0,   0, 
 -      1,   0,   0,   0,  60,   0, 
 -      0,   0,   0,   5,  83,  72, 
 -      0,   1,   0,   0, 210,   1, 
 -      0,   0,  82,  68,  49,  49, 
 -     60,   0,   0,   0,  24,   0, 
 -      0,   0,  32,   0,   0,   0, 
 -     40,   0,   0,   0,  36,   0, 
 -      0,   0,  12,   0,   0,   0, 
 -      0,   0,   0,   0,  92,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     99,  98,  95, 102, 114,  97, 
 -    109, 101,   0, 171, 171, 171, 
 -     92,   0,   0,   0,   5,   0, 
 -      0,   0, 128,   0,   0,   0, 
 -    144,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     72,   1,   0,   0,   0,   0, 
 -      0,   0,  64,   0,   0,   0, 
 -      0,   0,   0,   0,  88,   1, 
 -      0,   0,   0,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0, 255, 255, 255, 255, 
 -      0,   0,   0,   0, 124,   1, 
 -      0,   0,  64,   0,   0,   0, 
 -     64,   0,   0,   0,   0,   0, 
 -      0,   0,  88,   1,   0,   0, 
 -      0,   0,   0,   0, 255, 255, 
 -    255, 255,   0,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0, 134,   1,   0,   0, 
 -    128,   0,   0,   0,   4,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -    152,   1,   0,   0,   0,   0, 
 -      0,   0, 255, 255, 255, 255, 
 -      0,   0,   0,   0, 255, 255, 
 -    255, 255,   0,   0,   0,   0, 
 -    188,   1,   0,   0, 132,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      0,   0,   0,   0, 152,   1, 
 -      0,   0,   0,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0, 255, 255, 255, 255, 
 -      0,   0,   0,   0, 198,   1, 
 -      0,   0, 136,   0,   0,   0, 
 -      4,   0,   0,   0,   2,   0, 
 -      0,   0, 152,   1,   0,   0, 
 -      0,   0,   0,   0, 255, 255, 
 -    255, 255,   0,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0, 109, 111, 100, 101, 
 -    108,   0, 102, 108, 111,  97, 
 -    116,  52, 120,  52,   0, 171, 
 -      3,   0,   3,   0,   4,   0, 
 -      4,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,  78,   1,   0,   0, 
 -    118, 105, 101, 119,  95, 112, 
 -    114, 111, 106,   0, 100, 105, 
 -    115, 112,  95, 115,  99,  97, 
 -    108, 101,   0, 102, 108, 111, 
 -     97, 116,   0, 171,   0,   0, 
 -      3,   0,   1,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -    145,   1,   0,   0, 100, 105, 
 -    115, 112,  95, 102, 114, 101, 
 -    113,   0, 116, 101, 115, 115, 
 -     95, 102,  97,  99, 116, 111, 
 -    114,   0,  77, 105,  99, 114, 
 -    111, 115, 111, 102, 116,  32, 
 -     40,  82,  41,  32,  72,  76, 
 -     83,  76,  32,  83, 104,  97, 
 -    100, 101, 114,  32,  67, 111, 
 -    109, 112, 105, 108, 101, 114, 
 -     32,  57,  46,  50,  57,  46, 
 -     57,  53,  50,  46,  51,  49, 
 -     49,  49,   0, 171,  73,  83, 
 -     71,  78,  44,   0,   0,   0, 
 -      1,   0,   0,   0,   8,   0, 
 -      0,   0,  32,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,   7,   7, 
 -      0,   0,  80,  79,  83,  73, 
 -     84,  73,  79,  78,   0, 171, 
 -    171, 171,  79,  83,  71,  78, 
 -     44,   0,   0,   0,   1,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     32,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,   7,   8,   0,   0, 
 -     80,  79,  83,  73,  84,  73, 
 -     79,  78,   0, 171, 171, 171, 
 -     80,  67,  83,  71, 140,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      8,   0,   0,   0, 104,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     13,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,  14,   0,   0, 104,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -     13,   0,   0,   0,   3,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      1,  14,   0,   0, 104,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -     13,   0,   0,   0,   3,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -      1,  14,   0,   0, 118,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     14,   0,   0,   0,   3,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      1,  14,   0,   0,  83,  86, 
 -     95,  84, 101, 115, 115,  70, 
 -     97,  99, 116, 111, 114,   0, 
 -     83,  86,  95,  73, 110, 115, 
 -    105, 100, 101,  84, 101, 115, 
 -    115,  70,  97,  99, 116, 111, 
 -    114,   0, 171, 171,  83,  72, 
 -     69,  88, 240,   0,   0,   0, 
 -     80,   0,   3,   0,  60,   0, 
 -      0,   0, 113,   0,   0,   1, 
 -    147,  24,   0,   1, 148,  24, 
 -      0,   1, 149,  16,   0,   1, 
 -    150,  32,   0,   1, 151,  24, 
 -      0,   1, 106,   8,   0,   1, 
 -     89,   0,   0,   4,  70, 142, 
 -     32,   0,   0,   0,   0,   0, 
 -      9,   0,   0,   0, 115,   0, 
 -      0,   1, 153,   0,   0,   2, 
 -      3,   0,   0,   0,  95,   0, 
 -      0,   2,   0, 112,   1,   0, 
 -    103,   0,   0,   4,  18,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -     17,   0,   0,   0, 103,   0, 
 -      0,   4,  18,  32,  16,   0, 
 -      1,   0,   0,   0,  18,   0, 
 -      0,   0, 103,   0,   0,   4, 
 -     18,  32,  16,   0,   2,   0, 
 -      0,   0,  19,   0,   0,   0, 
 -    104,   0,   0,   2,   1,   0, 
 -      0,   0,  91,   0,   0,   4, 
 -     18,  32,  16,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -     54,   0,   0,   4,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     10, 112,   1,   0,  54,   0, 
 -      0,   7,  18,  32, 144,   0, 
 -     10,   0,  16,   0,   0,   0, 
 -      0,   0,  42, 128,  32,   0, 
 -      0,   0,   0,   0,   8,   0, 
 -      0,   0,  62,   0,   0,   1, 
 -    115,   0,   0,   1, 103,   0, 
 -      0,   4,  18,  32,  16,   0, 
 -      3,   0,   0,   0,  20,   0, 
 -      0,   0,  54,   0,   0,   6, 
 -     18,  32,  16,   0,   3,   0, 
 -      0,   0,  42, 128,  32,   0, 
 -      0,   0,   0,   0,   8,   0, 
 -      0,   0,  62,   0,   0,   1, 
 -     83,  84,  65,  84, 148,   0, 
 -      0,   0,   5,   0,   0,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,  10,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      3,   0,   0,   0,   4,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11spikysphere.hlsl.hs.h /Ehs /Ths_5_0 d3d11spikysphere.hlsl +// +// +// Buffer Definitions:  +// +// cbuffer cb_frame +// { +// +//   float4x4 model;                    // Offset:    0 Size:    64 [unused] +//   float4x4 view_proj;                // Offset:   64 Size:    64 [unused] +//   float disp_scale;                  // Offset:  128 Size:     4 [unused] +//   float disp_freq;                   // Offset:  132 Size:     4 [unused] +//   float tess_factor;                 // Offset:  136 Size:     4 +// +// } +// +// +// Resource Bindings: +// +// Name                                 Type  Format         Dim Slot Elements +// ------------------------------ ---------- ------- ----------- ---- -------- +// cb_frame                          cbuffer      NA          NA    0        1 +// +// +// +// Patch Constant signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_TessFactor            0   x           0  TRIEDGE  float   x    +// SV_TessFactor            1   x           1  TRIEDGE  float   x    +// SV_TessFactor            2   x           2  TRIEDGE  float   x    +// SV_InsideTessFactor      0   x           3   TRIINT  float   x    +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyz         0     NONE  float   xyz  +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyz         0     NONE  float   xyz  +// +// Tessellation Domain   # of control points +// -------------------- -------------------- +// Triangle                                3 +// +// Tessellation Output Primitive  Partitioning Type  +// ------------------------------ ------------------ +// Clockwise Triangles            Even Fractional    +// +hs_5_0 +hs_decls  +dcl_input_control_point_count 3 +dcl_output_control_point_count 3 +dcl_tessellator_domain domain_tri +dcl_tessellator_partitioning partitioning_fractional_even +dcl_tessellator_output_primitive output_triangle_cw +dcl_globalFlags refactoringAllowed +dcl_constantbuffer cb0[9], immediateIndexed +hs_fork_phase  +dcl_hs_fork_phase_instance_count 3 +dcl_input vForkInstanceID +dcl_output_siv o0.x, finalTriUeq0EdgeTessFactor +dcl_output_siv o1.x, finalTriVeq0EdgeTessFactor +dcl_output_siv o2.x, finalTriWeq0EdgeTessFactor +dcl_temps 1 +dcl_indexrange o0.x 3 +mov r0.x, vForkInstanceID.x +mov o[r0.x + 0].x, cb0[8].z +ret  +hs_fork_phase  +dcl_output_siv o3.x, finalTriInsideTessFactor +mov o3.x, cb0[8].z +ret  +// Approximately 5 instruction slots used +#endif + +const BYTE g_hs[] = +{ +     68,  88,  66,  67, 174,  23,  +    253, 184, 171, 234, 181, 122,  +    114,  17,  23, 172,  69, 130,  +     17,  19,   1,   0,   0,   0,  +    212,   4,   0,   0,   6,   0,  +      0,   0,  56,   0,   0,   0,  +     68,   2,   0,   0, 120,   2,  +      0,   0, 172,   2,   0,   0,  +     64,   3,   0,   0,  56,   4,  +      0,   0,  82,  68,  69,  70,  +      4,   2,   0,   0,   1,   0,  +      0,   0, 104,   0,   0,   0,  +      1,   0,   0,   0,  60,   0,  +      0,   0,   0,   5,  83,  72,  +      0,   1,   0,   0, 210,   1,  +      0,   0,  82,  68,  49,  49,  +     60,   0,   0,   0,  24,   0,  +      0,   0,  32,   0,   0,   0,  +     40,   0,   0,   0,  36,   0,  +      0,   0,  12,   0,   0,   0,  +      0,   0,   0,   0,  92,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +     99,  98,  95, 102, 114,  97,  +    109, 101,   0, 171, 171, 171,  +     92,   0,   0,   0,   5,   0,  +      0,   0, 128,   0,   0,   0,  +    144,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     72,   1,   0,   0,   0,   0,  +      0,   0,  64,   0,   0,   0,  +      0,   0,   0,   0,  88,   1,  +      0,   0,   0,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0, 255, 255, 255, 255,  +      0,   0,   0,   0, 124,   1,  +      0,   0,  64,   0,   0,   0,  +     64,   0,   0,   0,   0,   0,  +      0,   0,  88,   1,   0,   0,  +      0,   0,   0,   0, 255, 255,  +    255, 255,   0,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0, 134,   1,   0,   0,  +    128,   0,   0,   0,   4,   0,  +      0,   0,   0,   0,   0,   0,  +    152,   1,   0,   0,   0,   0,  +      0,   0, 255, 255, 255, 255,  +      0,   0,   0,   0, 255, 255,  +    255, 255,   0,   0,   0,   0,  +    188,   1,   0,   0, 132,   0,  +      0,   0,   4,   0,   0,   0,  +      0,   0,   0,   0, 152,   1,  +      0,   0,   0,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0, 255, 255, 255, 255,  +      0,   0,   0,   0, 198,   1,  +      0,   0, 136,   0,   0,   0,  +      4,   0,   0,   0,   2,   0,  +      0,   0, 152,   1,   0,   0,  +      0,   0,   0,   0, 255, 255,  +    255, 255,   0,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0, 109, 111, 100, 101,  +    108,   0, 102, 108, 111,  97,  +    116,  52, 120,  52,   0, 171,  +      3,   0,   3,   0,   4,   0,  +      4,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,  78,   1,   0,   0,  +    118, 105, 101, 119,  95, 112,  +    114, 111, 106,   0, 100, 105,  +    115, 112,  95, 115,  99,  97,  +    108, 101,   0, 102, 108, 111,  +     97, 116,   0, 171,   0,   0,  +      3,   0,   1,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +    145,   1,   0,   0, 100, 105,  +    115, 112,  95, 102, 114, 101,  +    113,   0, 116, 101, 115, 115,  +     95, 102,  97,  99, 116, 111,  +    114,   0,  77, 105,  99, 114,  +    111, 115, 111, 102, 116,  32,  +     40,  82,  41,  32,  72,  76,  +     83,  76,  32,  83, 104,  97,  +    100, 101, 114,  32,  67, 111,  +    109, 112, 105, 108, 101, 114,  +     32,  57,  46,  50,  57,  46,  +     57,  53,  50,  46,  51,  49,  +     49,  49,   0, 171,  73,  83,  +     71,  78,  44,   0,   0,   0,  +      1,   0,   0,   0,   8,   0,  +      0,   0,  32,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,   7,   7,  +      0,   0,  80,  79,  83,  73,  +     84,  73,  79,  78,   0, 171,  +    171, 171,  79,  83,  71,  78,  +     44,   0,   0,   0,   1,   0,  +      0,   0,   8,   0,   0,   0,  +     32,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,   7,   8,   0,   0,  +     80,  79,  83,  73,  84,  73,  +     79,  78,   0, 171, 171, 171,  +     80,  67,  83,  71, 140,   0,  +      0,   0,   4,   0,   0,   0,  +      8,   0,   0,   0, 104,   0,  +      0,   0,   0,   0,   0,   0,  +     13,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +      1,  14,   0,   0, 104,   0,  +      0,   0,   1,   0,   0,   0,  +     13,   0,   0,   0,   3,   0,  +      0,   0,   1,   0,   0,   0,  +      1,  14,   0,   0, 104,   0,  +      0,   0,   2,   0,   0,   0,  +     13,   0,   0,   0,   3,   0,  +      0,   0,   2,   0,   0,   0,  +      1,  14,   0,   0, 118,   0,  +      0,   0,   0,   0,   0,   0,  +     14,   0,   0,   0,   3,   0,  +      0,   0,   3,   0,   0,   0,  +      1,  14,   0,   0,  83,  86,  +     95,  84, 101, 115, 115,  70,  +     97,  99, 116, 111, 114,   0,  +     83,  86,  95,  73, 110, 115,  +    105, 100, 101,  84, 101, 115,  +    115,  70,  97,  99, 116, 111,  +    114,   0, 171, 171,  83,  72,  +     69,  88, 240,   0,   0,   0,  +     80,   0,   3,   0,  60,   0,  +      0,   0, 113,   0,   0,   1,  +    147,  24,   0,   1, 148,  24,  +      0,   1, 149,  16,   0,   1,  +    150,  32,   0,   1, 151,  24,  +      0,   1, 106,   8,   0,   1,  +     89,   0,   0,   4,  70, 142,  +     32,   0,   0,   0,   0,   0,  +      9,   0,   0,   0, 115,   0,  +      0,   1, 153,   0,   0,   2,  +      3,   0,   0,   0,  95,   0,  +      0,   2,   0, 112,   1,   0,  +    103,   0,   0,   4,  18,  32,  +     16,   0,   0,   0,   0,   0,  +     17,   0,   0,   0, 103,   0,  +      0,   4,  18,  32,  16,   0,  +      1,   0,   0,   0,  18,   0,  +      0,   0, 103,   0,   0,   4,  +     18,  32,  16,   0,   2,   0,  +      0,   0,  19,   0,   0,   0,  +    104,   0,   0,   2,   1,   0,  +      0,   0,  91,   0,   0,   4,  +     18,  32,  16,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +     54,   0,   0,   4,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     10, 112,   1,   0,  54,   0,  +      0,   7,  18,  32, 144,   0,  +     10,   0,  16,   0,   0,   0,  +      0,   0,  42, 128,  32,   0,  +      0,   0,   0,   0,   8,   0,  +      0,   0,  62,   0,   0,   1,  +    115,   0,   0,   1, 103,   0,  +      0,   4,  18,  32,  16,   0,  +      3,   0,   0,   0,  20,   0,  +      0,   0,  54,   0,   0,   6,  +     18,  32,  16,   0,   3,   0,  +      0,   0,  42, 128,  32,   0,  +      0,   0,   0,   0,   8,   0,  +      0,   0,  62,   0,   0,   1,  +     83,  84,  65,  84, 148,   0,  +      0,   0,   5,   0,   0,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0,   4,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,  10,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      3,   0,   0,   0,   4,   0,  +      0,   0,   2,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.ps.h b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.ps.h index df0ad05288..9af2071371 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.ps.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.ps.h @@ -1,211 +1,211 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11spikysphere.hlsl.ps.h /Eps /Tps_4_0 d3d11spikysphere.hlsl
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float       
 -// OBJPOS                   0   xyz         1     NONE  float   xyz 
 -// OBJNORMAL                0   xyz         2     NONE  float   xyz 
 -// WORLDNORMAL              0   xyz         3     NONE  float   xyz 
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_TARGET                0   xyzw        0   TARGET  float   xyzw
 -//
 -ps_4_0
 -dcl_input_ps linear v1.xyz
 -dcl_input_ps linear v2.xyz
 -dcl_input_ps linear v3.xyz
 -dcl_output o0.xyzw
 -dcl_temps 2
 -dp3 r0.x, v2.xyzx, v2.xyzx
 -rsq r0.x, r0.x
 -mul r0.xyz, r0.xxxx, v2.xyzx
 -dp3 r0.w, v1.xyzx, v1.xyzx
 -rsq r0.w, r0.w
 -mul r1.xyz, r0.wwww, v1.xyzx
 -dp3_sat r0.x, r0.xyzx, r1.xyzx
 -dp3 r0.y, v3.xyzx, v3.xyzx
 -rsq r0.y, r0.y
 -mul r0.yz, r0.yyyy, v3.yyzy
 -dp2_sat r0.y, l(0.707107, -0.707107, 0.000000, 0.000000), r0.yzyy
 -mul r0.yzw, r0.yyyy, l(0.000000, 0.600000, 0.600000, 0.400000)
 -mad o0.xyz, r0.xxxx, l(0.400000, 0.400000, 0.600000, 0.000000), r0.yzwy
 -mov o0.w, l(1.000000)
 -ret 
 -// Approximately 15 instruction slots used
 -#endif
 -
 -const BYTE g_ps[] =
 -{
 -     68,  88,  66,  67, 211, 117, 
 -    143,  38, 226,  40, 181,  77, 
 -     39, 255,  33, 137,  74, 241, 
 -     40, 100,   1,   0,   0,   0, 
 -    184,   3,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    140,   0,   0,   0,  40,   1, 
 -      0,   0,  92,   1,   0,   0, 
 -     60,   3,   0,   0,  82,  68, 
 -     69,  70,  80,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    255, 255,   0,   1,   0,   0, 
 -     28,   0,   0,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -    171, 171,  73,  83,  71,  78, 
 -    148,   0,   0,   0,   4,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -    104,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -    116,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,   7,   7,   0,   0, 
 -    123,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   2,   0, 
 -      0,   0,   7,   7,   0,   0, 
 -    133,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   3,   0, 
 -      0,   0,   7,   7,   0,   0, 
 -     83,  86,  95,  80,  79,  83, 
 -     73,  84,  73,  79,  78,   0, 
 -     79,  66,  74,  80,  79,  83, 
 -      0,  79,  66,  74,  78,  79, 
 -     82,  77,  65,  76,   0,  87, 
 -     79,  82,  76,  68,  78,  79, 
 -     82,  77,  65,  76,   0, 171, 
 -    171, 171,  79,  83,  71,  78, 
 -     44,   0,   0,   0,   1,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     32,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     83,  86,  95,  84,  65,  82, 
 -     71,  69,  84,   0, 171, 171, 
 -     83,  72,  68,  82, 216,   1, 
 -      0,   0,  64,   0,   0,   0, 
 -    118,   0,   0,   0,  98,  16, 
 -      0,   3, 114,  16,  16,   0, 
 -      1,   0,   0,   0,  98,  16, 
 -      0,   3, 114,  16,  16,   0, 
 -      2,   0,   0,   0,  98,  16, 
 -      0,   3, 114,  16,  16,   0, 
 -      3,   0,   0,   0, 101,   0, 
 -      0,   3, 242,  32,  16,   0, 
 -      0,   0,   0,   0, 104,   0, 
 -      0,   2,   2,   0,   0,   0, 
 -     16,   0,   0,   7,  18,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  18,  16,   0,   2,   0, 
 -      0,   0,  70,  18,  16,   0, 
 -      2,   0,   0,   0,  68,   0, 
 -      0,   5,  18,   0,  16,   0, 
 -      0,   0,   0,   0,  10,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     56,   0,   0,   7, 114,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0,  70,  18,  16,   0, 
 -      2,   0,   0,   0,  16,   0, 
 -      0,   7, 130,   0,  16,   0, 
 -      0,   0,   0,   0,  70,  18, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,  18,  16,   0,   1,   0, 
 -      0,   0,  68,   0,   0,   5, 
 -    130,   0,  16,   0,   0,   0, 
 -      0,   0,  58,   0,  16,   0, 
 -      0,   0,   0,   0,  56,   0, 
 -      0,   7, 114,   0,  16,   0, 
 -      1,   0,   0,   0, 246,  15, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  18,  16,   0,   1,   0, 
 -      0,   0,  16,  32,   0,   7, 
 -     18,   0,  16,   0,   0,   0, 
 -      0,   0,  70,   2,  16,   0, 
 -      0,   0,   0,   0,  70,   2, 
 -     16,   0,   1,   0,   0,   0, 
 -     16,   0,   0,   7,  34,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  18,  16,   0,   3,   0, 
 -      0,   0,  70,  18,  16,   0, 
 -      3,   0,   0,   0,  68,   0, 
 -      0,   5,  34,   0,  16,   0, 
 -      0,   0,   0,   0,  26,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     56,   0,   0,   7,  98,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     86,   5,  16,   0,   0,   0, 
 -      0,   0,  86,  22,  16,   0, 
 -      3,   0,   0,   0,  15,  32, 
 -      0,  10,  34,   0,  16,   0, 
 -      0,   0,   0,   0,   2,  64, 
 -      0,   0, 243,   4,  53,  63, 
 -    243,   4,  53, 191,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -    150,   5,  16,   0,   0,   0, 
 -      0,   0,  56,   0,   0,  10, 
 -    226,   0,  16,   0,   0,   0, 
 -      0,   0,  86,   5,  16,   0, 
 -      0,   0,   0,   0,   2,  64, 
 -      0,   0,   0,   0,   0,   0, 
 -    154, 153,  25,  63, 154, 153, 
 -     25,  63, 205, 204, 204,  62, 
 -     50,   0,   0,  12, 114,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -      6,   0,  16,   0,   0,   0, 
 -      0,   0,   2,  64,   0,   0, 
 -    205, 204, 204,  62, 205, 204, 
 -    204,  62, 154, 153,  25,  63, 
 -      0,   0,   0,   0, 150,   7, 
 -     16,   0,   0,   0,   0,   0, 
 -     54,   0,   0,   5, 130,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -      1,  64,   0,   0,   0,   0, 
 -    128,  63,  62,   0,   0,   1, 
 -     83,  84,  65,  84, 116,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -     12,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11spikysphere.hlsl.ps.h /Eps /Tps_4_0 d3d11spikysphere.hlsl +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float        +// OBJPOS                   0   xyz         1     NONE  float   xyz  +// OBJNORMAL                0   xyz         2     NONE  float   xyz  +// WORLDNORMAL              0   xyz         3     NONE  float   xyz  +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_TARGET                0   xyzw        0   TARGET  float   xyzw +// +ps_4_0 +dcl_input_ps linear v1.xyz +dcl_input_ps linear v2.xyz +dcl_input_ps linear v3.xyz +dcl_output o0.xyzw +dcl_temps 2 +dp3 r0.x, v2.xyzx, v2.xyzx +rsq r0.x, r0.x +mul r0.xyz, r0.xxxx, v2.xyzx +dp3 r0.w, v1.xyzx, v1.xyzx +rsq r0.w, r0.w +mul r1.xyz, r0.wwww, v1.xyzx +dp3_sat r0.x, r0.xyzx, r1.xyzx +dp3 r0.y, v3.xyzx, v3.xyzx +rsq r0.y, r0.y +mul r0.yz, r0.yyyy, v3.yyzy +dp2_sat r0.y, l(0.707107, -0.707107, 0.000000, 0.000000), r0.yzyy +mul r0.yzw, r0.yyyy, l(0.000000, 0.600000, 0.600000, 0.400000) +mad o0.xyz, r0.xxxx, l(0.400000, 0.400000, 0.600000, 0.000000), r0.yzwy +mov o0.w, l(1.000000) +ret  +// Approximately 15 instruction slots used +#endif + +const BYTE g_ps[] = +{ +     68,  88,  66,  67, 211, 117,  +    143,  38, 226,  40, 181,  77,  +     39, 255,  33, 137,  74, 241,  +     40, 100,   1,   0,   0,   0,  +    184,   3,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    140,   0,   0,   0,  40,   1,  +      0,   0,  92,   1,   0,   0,  +     60,   3,   0,   0,  82,  68,  +     69,  70,  80,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    255, 255,   0,   1,   0,   0,  +     28,   0,   0,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +    171, 171,  73,  83,  71,  78,  +    148,   0,   0,   0,   4,   0,  +      0,   0,   8,   0,   0,   0,  +    104,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +    116,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,   7,   7,   0,   0,  +    123,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   2,   0,  +      0,   0,   7,   7,   0,   0,  +    133,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   3,   0,  +      0,   0,   7,   7,   0,   0,  +     83,  86,  95,  80,  79,  83,  +     73,  84,  73,  79,  78,   0,  +     79,  66,  74,  80,  79,  83,  +      0,  79,  66,  74,  78,  79,  +     82,  77,  65,  76,   0,  87,  +     79,  82,  76,  68,  78,  79,  +     82,  77,  65,  76,   0, 171,  +    171, 171,  79,  83,  71,  78,  +     44,   0,   0,   0,   1,   0,  +      0,   0,   8,   0,   0,   0,  +     32,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +     83,  86,  95,  84,  65,  82,  +     71,  69,  84,   0, 171, 171,  +     83,  72,  68,  82, 216,   1,  +      0,   0,  64,   0,   0,   0,  +    118,   0,   0,   0,  98,  16,  +      0,   3, 114,  16,  16,   0,  +      1,   0,   0,   0,  98,  16,  +      0,   3, 114,  16,  16,   0,  +      2,   0,   0,   0,  98,  16,  +      0,   3, 114,  16,  16,   0,  +      3,   0,   0,   0, 101,   0,  +      0,   3, 242,  32,  16,   0,  +      0,   0,   0,   0, 104,   0,  +      0,   2,   2,   0,   0,   0,  +     16,   0,   0,   7,  18,   0,  +     16,   0,   0,   0,   0,   0,  +     70,  18,  16,   0,   2,   0,  +      0,   0,  70,  18,  16,   0,  +      2,   0,   0,   0,  68,   0,  +      0,   5,  18,   0,  16,   0,  +      0,   0,   0,   0,  10,   0,  +     16,   0,   0,   0,   0,   0,  +     56,   0,   0,   7, 114,   0,  +     16,   0,   0,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0,  70,  18,  16,   0,  +      2,   0,   0,   0,  16,   0,  +      0,   7, 130,   0,  16,   0,  +      0,   0,   0,   0,  70,  18,  +     16,   0,   1,   0,   0,   0,  +     70,  18,  16,   0,   1,   0,  +      0,   0,  68,   0,   0,   5,  +    130,   0,  16,   0,   0,   0,  +      0,   0,  58,   0,  16,   0,  +      0,   0,   0,   0,  56,   0,  +      0,   7, 114,   0,  16,   0,  +      1,   0,   0,   0, 246,  15,  +     16,   0,   0,   0,   0,   0,  +     70,  18,  16,   0,   1,   0,  +      0,   0,  16,  32,   0,   7,  +     18,   0,  16,   0,   0,   0,  +      0,   0,  70,   2,  16,   0,  +      0,   0,   0,   0,  70,   2,  +     16,   0,   1,   0,   0,   0,  +     16,   0,   0,   7,  34,   0,  +     16,   0,   0,   0,   0,   0,  +     70,  18,  16,   0,   3,   0,  +      0,   0,  70,  18,  16,   0,  +      3,   0,   0,   0,  68,   0,  +      0,   5,  34,   0,  16,   0,  +      0,   0,   0,   0,  26,   0,  +     16,   0,   0,   0,   0,   0,  +     56,   0,   0,   7,  98,   0,  +     16,   0,   0,   0,   0,   0,  +     86,   5,  16,   0,   0,   0,  +      0,   0,  86,  22,  16,   0,  +      3,   0,   0,   0,  15,  32,  +      0,  10,  34,   0,  16,   0,  +      0,   0,   0,   0,   2,  64,  +      0,   0, 243,   4,  53,  63,  +    243,   4,  53, 191,   0,   0,  +      0,   0,   0,   0,   0,   0,  +    150,   5,  16,   0,   0,   0,  +      0,   0,  56,   0,   0,  10,  +    226,   0,  16,   0,   0,   0,  +      0,   0,  86,   5,  16,   0,  +      0,   0,   0,   0,   2,  64,  +      0,   0,   0,   0,   0,   0,  +    154, 153,  25,  63, 154, 153,  +     25,  63, 205, 204, 204,  62,  +     50,   0,   0,  12, 114,  32,  +     16,   0,   0,   0,   0,   0,  +      6,   0,  16,   0,   0,   0,  +      0,   0,   2,  64,   0,   0,  +    205, 204, 204,  62, 205, 204,  +    204,  62, 154, 153,  25,  63,  +      0,   0,   0,   0, 150,   7,  +     16,   0,   0,   0,   0,   0,  +     54,   0,   0,   5, 130,  32,  +     16,   0,   0,   0,   0,   0,  +      1,  64,   0,   0,   0,   0,  +    128,  63,  62,   0,   0,   1,  +     83,  84,  65,  84, 116,   0,  +      0,   0,  15,   0,   0,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0,   4,   0,   0,   0,  +     12,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.vs.h b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.vs.h index 15a4663c0d..c71b0c3ae0 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.vs.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11spikysphere/d3d11spikysphere.hlsl.vs.h @@ -1,105 +1,105 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11spikysphere.hlsl.vs.h /Evs /Tvs_4_0 d3d11spikysphere.hlsl
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyz         0     NONE  float   xyz 
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyz         0     NONE  float   xyz 
 -//
 -vs_4_0
 -dcl_input v0.xyz
 -dcl_output o0.xyz
 -mov o0.xyz, v0.xyzx
 -ret 
 -// Approximately 2 instruction slots used
 -#endif
 -
 -const BYTE g_vs[] =
 -{
 -     68,  88,  66,  67,  71, 140, 
 -    219, 201, 207,  71, 236,   3, 
 -    158, 208, 157, 229,  54, 227, 
 -    221, 132,   1,   0,   0,   0, 
 -    176,   1,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    140,   0,   0,   0, 192,   0, 
 -      0,   0, 244,   0,   0,   0, 
 -     52,   1,   0,   0,  82,  68, 
 -     69,  70,  80,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    254, 255,   0,   1,   0,   0, 
 -     28,   0,   0,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -    171, 171,  73,  83,  71,  78, 
 -     44,   0,   0,   0,   1,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     32,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,   7,   7,   0,   0, 
 -     80,  79,  83,  73,  84,  73, 
 -     79,  78,   0, 171, 171, 171, 
 -     79,  83,  71,  78,  44,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      8,   0,   0,   0,  32,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      7,   8,   0,   0,  80,  79, 
 -     83,  73,  84,  73,  79,  78, 
 -      0, 171, 171, 171,  83,  72, 
 -     68,  82,  56,   0,   0,   0, 
 -     64,   0,   1,   0,  14,   0, 
 -      0,   0,  95,   0,   0,   3, 
 -    114,  16,  16,   0,   0,   0, 
 -      0,   0, 101,   0,   0,   3, 
 -    114,  32,  16,   0,   0,   0, 
 -      0,   0,  54,   0,   0,   5, 
 -    114,  32,  16,   0,   0,   0, 
 -      0,   0,  70,  18,  16,   0, 
 -      0,   0,   0,   0,  62,   0, 
 -      0,   1,  83,  84,  65,  84, 
 -    116,   0,   0,   0,   2,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   2,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11spikysphere.hlsl.vs.h /Evs /Tvs_4_0 d3d11spikysphere.hlsl +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyz         0     NONE  float   xyz  +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyz         0     NONE  float   xyz  +// +vs_4_0 +dcl_input v0.xyz +dcl_output o0.xyz +mov o0.xyz, v0.xyzx +ret  +// Approximately 2 instruction slots used +#endif + +const BYTE g_vs[] = +{ +     68,  88,  66,  67,  71, 140,  +    219, 201, 207,  71, 236,   3,  +    158, 208, 157, 229,  54, 227,  +    221, 132,   1,   0,   0,   0,  +    176,   1,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    140,   0,   0,   0, 192,   0,  +      0,   0, 244,   0,   0,   0,  +     52,   1,   0,   0,  82,  68,  +     69,  70,  80,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    254, 255,   0,   1,   0,   0,  +     28,   0,   0,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +    171, 171,  73,  83,  71,  78,  +     44,   0,   0,   0,   1,   0,  +      0,   0,   8,   0,   0,   0,  +     32,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,   7,   7,   0,   0,  +     80,  79,  83,  73,  84,  73,  +     79,  78,   0, 171, 171, 171,  +     79,  83,  71,  78,  44,   0,  +      0,   0,   1,   0,   0,   0,  +      8,   0,   0,   0,  32,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +      7,   8,   0,   0,  80,  79,  +     83,  73,  84,  73,  79,  78,  +      0, 171, 171, 171,  83,  72,  +     68,  82,  56,   0,   0,   0,  +     64,   0,   1,   0,  14,   0,  +      0,   0,  95,   0,   0,   3,  +    114,  16,  16,   0,   0,   0,  +      0,   0, 101,   0,   0,   3,  +    114,  32,  16,   0,   0,   0,  +      0,   0,  54,   0,   0,   5,  +    114,  32,  16,   0,   0,   0,  +      0,   0,  70,  18,  16,   0,  +      0,   0,   0,   0,  62,   0,  +      0,   1,  83,  84,  65,  84,  +    116,   0,   0,   0,   2,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   2,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.cpp index db3742e2f1..19c669be9c 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.cpp @@ -1,116 +1,116 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#include "d3d11app.h"
 -#include "d3d11u.h"
 -#include "d3d11tex.hlsl.ps.h"
 -#include "d3d11tex.hlsl.vs.h"
 -#include "../data/cornell_box_image.h"
 -#include "../data/tux_image.h"
 -
 -struct d3d11tex : public d3d11_application
 -{
 -	ID3D11PixelShader* ps;
 -	ID3D11VertexShader* vs;
 -	mesh* quad;
 -	ID3D11ShaderResourceView* srv[2];
 -	ID3D11SamplerState* samp[2];
 -
 -	virtual bool init(ID3D11Device* dev, int argc, char** argv)
 -	{
 -		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), NULL, &ps));
 -		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), NULL, &vs));
 -
 -		quad = create_tex_quad(dev, g_vs, sizeof(g_vs));
 -
 -		D3D11_TEXTURE2D_DESC texd;
 -		memset(&texd, 0, sizeof(texd));
 -		texd.BindFlags = D3D11_BIND_SHADER_RESOURCE;
 -		texd.Usage = D3D11_USAGE_IMMUTABLE;
 -		texd.SampleDesc.Count = 1;
 -		texd.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
 -		texd.Width = 32;
 -		texd.Height = 32;
 -		texd.ArraySize = 1;
 -		texd.MipLevels = 1;
 -
 -		D3D11_SUBRESOURCE_DATA texsd;
 -		texsd.SysMemPitch = 32 * 4;
 -		texsd.SysMemSlicePitch = 32 * 32 * 4;
 -
 -		ID3D11Texture2D* tex;
 -
 -		texsd.pSysMem = g_cornell_box_image;
 -		ensure(dev->CreateTexture2D(&texd, &texsd, &tex));
 -		ensure(dev->CreateShaderResourceView(tex, 0, &srv[0]));
 -		tex->Release();
 -
 -		texsd.pSysMem = g_tux_image;
 -		ensure(dev->CreateTexture2D(&texd, &texsd, &tex));
 -		ensure(dev->CreateShaderResourceView(tex, 0, &srv[1]));
 -		tex->Release();
 -
 -		D3D11_SAMPLER_DESC sampd;
 -		memset(&sampd, 0, sizeof(sampd));
 -		sampd.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;
 -		sampd.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;
 -		sampd.AddressW = D3D11_TEXTURE_ADDRESS_WRAP;
 -		sampd.MinLOD = -FLT_MAX;
 -		sampd.MaxLOD = FLT_MAX;
 -
 -		sampd.Filter = D3D11_FILTER_MIN_MAG_MIP_POINT;
 -		dev->CreateSamplerState(&sampd, &samp[0]);
 -
 -		sampd.Filter = D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT;
 -		dev->CreateSamplerState(&sampd, &samp[1]);
 -		return true;
 -	}
 -
 -	virtual void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time)
 -	{
 -		D3D11_VIEWPORT vp;
 -		memset(&vp, 0, sizeof(vp));
 -		vp.Width = (float)width;
 -		vp.Height = (float)height;
 -		vp.MaxDepth = 1.0f;
 -
 -		ctx->OMSetRenderTargets(1, &rtv, 0);
 -		ctx->RSSetViewports(1, &vp);
 -
 -		ctx->VSSetShader(vs, NULL, 0);
 -		ctx->PSSetShader(ps, NULL, 0);	
 -
 -		ctx->PSSetShaderResources(0, 2, srv);
 -		ctx->PSSetSamplers(0, 2, samp);
 -
 -		quad->bind_and_draw(ctx);
 -	}
 -};
 -
 -d3d11_application* d3d11_application_create()
 -{
 -	return new d3d11tex();
 -}
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#include "d3d11app.h" +#include "d3d11u.h" +#include "d3d11tex.hlsl.ps.h" +#include "d3d11tex.hlsl.vs.h" +#include "../data/cornell_box_image.h" +#include "../data/tux_image.h" + +struct d3d11tex : public d3d11_application +{ +	ID3D11PixelShader* ps; +	ID3D11VertexShader* vs; +	mesh* quad; +	ID3D11ShaderResourceView* srv[2]; +	ID3D11SamplerState* samp[2]; + +	virtual bool init(ID3D11Device* dev, int argc, char** argv) +	{ +		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), NULL, &ps)); +		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), NULL, &vs)); + +		quad = create_tex_quad(dev, g_vs, sizeof(g_vs)); + +		D3D11_TEXTURE2D_DESC texd; +		memset(&texd, 0, sizeof(texd)); +		texd.BindFlags = D3D11_BIND_SHADER_RESOURCE; +		texd.Usage = D3D11_USAGE_IMMUTABLE; +		texd.SampleDesc.Count = 1; +		texd.Format = DXGI_FORMAT_R8G8B8A8_UNORM; +		texd.Width = 32; +		texd.Height = 32; +		texd.ArraySize = 1; +		texd.MipLevels = 1; + +		D3D11_SUBRESOURCE_DATA texsd; +		texsd.SysMemPitch = 32 * 4; +		texsd.SysMemSlicePitch = 32 * 32 * 4; + +		ID3D11Texture2D* tex; + +		texsd.pSysMem = g_cornell_box_image; +		ensure(dev->CreateTexture2D(&texd, &texsd, &tex)); +		ensure(dev->CreateShaderResourceView(tex, 0, &srv[0])); +		tex->Release(); + +		texsd.pSysMem = g_tux_image; +		ensure(dev->CreateTexture2D(&texd, &texsd, &tex)); +		ensure(dev->CreateShaderResourceView(tex, 0, &srv[1])); +		tex->Release(); + +		D3D11_SAMPLER_DESC sampd; +		memset(&sampd, 0, sizeof(sampd)); +		sampd.AddressU = D3D11_TEXTURE_ADDRESS_WRAP; +		sampd.AddressV = D3D11_TEXTURE_ADDRESS_WRAP; +		sampd.AddressW = D3D11_TEXTURE_ADDRESS_WRAP; +		sampd.MinLOD = -FLT_MAX; +		sampd.MaxLOD = FLT_MAX; + +		sampd.Filter = D3D11_FILTER_MIN_MAG_MIP_POINT; +		dev->CreateSamplerState(&sampd, &samp[0]); + +		sampd.Filter = D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT; +		dev->CreateSamplerState(&sampd, &samp[1]); +		return true; +	} + +	virtual void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time) +	{ +		D3D11_VIEWPORT vp; +		memset(&vp, 0, sizeof(vp)); +		vp.Width = (float)width; +		vp.Height = (float)height; +		vp.MaxDepth = 1.0f; + +		ctx->OMSetRenderTargets(1, &rtv, 0); +		ctx->RSSetViewports(1, &vp); + +		ctx->VSSetShader(vs, NULL, 0); +		ctx->PSSetShader(ps, NULL, 0);	 + +		ctx->PSSetShaderResources(0, 2, srv); +		ctx->PSSetSamplers(0, 2, samp); + +		quad->bind_and_draw(ctx); +	} +}; + +d3d11_application* d3d11_application_create() +{ +	return new d3d11tex(); +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.hlsl.ps.h b/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.hlsl.ps.h index 722ed9afd0..29795a9909 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.hlsl.ps.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.hlsl.ps.h @@ -1,234 +1,234 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11tex.hlsl.ps.h /Eps /Tps_4_0 d3d11tex.hlsl
 -//
 -//
 -// Resource Bindings:
 -//
 -// Name                                 Type  Format         Dim Slot Elements
 -// ------------------------------ ---------- ------- ----------- ---- --------
 -// samp0                             sampler      NA          NA    0        1
 -// samp1                             sampler      NA          NA    1        1
 -// tex0                              texture  float4          2d    0        1
 -// tex1                              texture  float4          2d    1        1
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float       
 -// TEXCOORD                 0   xy          1     NONE  float   xy  
 -// FACTORS                  0   xyzw        2     NONE  float   xyzw
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_TARGET                0   xyzw        0   TARGET  float   xyzw
 -//
 -ps_4_0
 -dcl_sampler s0, mode_default
 -dcl_sampler s1, mode_default
 -dcl_resource_texture2d (float,float,float,float) t0
 -dcl_resource_texture2d (float,float,float,float) t1
 -dcl_input_ps linear v1.xy
 -dcl_input_ps linear v2.xyzw
 -dcl_output o0.xyzw
 -dcl_temps 3
 -sample r0.xyzw, v1.xyxx, t1.xyzw, s1
 -mul r0.xyzw, r0.xyzw, v2.xxxx
 -sample r1.xyzw, v1.xyxx, t1.xyzw, s0
 -mad r0.xyzw, r1.xyzw, v2.zzzz, r0.xyzw
 -mul r0.xyzw, r0.xyzw, v2.yyyy
 -sample r1.xyzw, v1.xyxx, t0.xyzw, s1
 -mul r1.xyzw, r1.xyzw, v2.xxxx
 -sample r2.xyzw, v1.xyxx, t0.xyzw, s0
 -mad r1.xyzw, r2.xyzw, v2.zzzz, r1.xyzw
 -mad o0.xyzw, r1.xyzw, v2.wwww, r0.xyzw
 -ret 
 -// Approximately 11 instruction slots used
 -#endif
 -
 -const BYTE g_ps[] =
 -{
 -     68,  88,  66,  67, 139, 203, 
 -    114,  37, 104, 101, 201,  12, 
 -    197, 147, 116,  98,  80, 214, 
 -    173, 207,   1,   0,   0,   0, 
 -     16,   4,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -     32,   1,   0,   0, 152,   1, 
 -      0,   0, 204,   1,   0,   0, 
 -    148,   3,   0,   0,  82,  68, 
 -     69,  70, 228,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    255, 255,   0,   1,   0,   0, 
 -    178,   0,   0,   0, 156,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -    162,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      1,   0,   0,   0,   0,   0, 
 -      0,   0, 168,   0,   0,   0, 
 -      2,   0,   0,   0,   5,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -    255, 255, 255, 255,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -     12,   0,   0,   0, 173,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -      5,   0,   0,   0,   4,   0, 
 -      0,   0, 255, 255, 255, 255, 
 -      1,   0,   0,   0,   1,   0, 
 -      0,   0,  12,   0,   0,   0, 
 -    115,  97, 109, 112,  48,   0, 
 -    115,  97, 109, 112,  49,   0, 
 -    116, 101, 120,  48,   0, 116, 
 -    101, 120,  49,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -     73,  83,  71,  78, 112,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      8,   0,   0,   0,  80,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     15,   0,   0,   0,  92,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      3,   3,   0,   0, 101,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -     15,  15,   0,   0,  83,  86, 
 -     95,  80,  79,  83,  73,  84, 
 -     73,  79,  78,   0,  84,  69, 
 -     88,  67,  79,  79,  82,  68, 
 -      0,  70,  65,  67,  84,  79, 
 -     82,  83,   0, 171, 171, 171, 
 -     79,  83,  71,  78,  44,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      8,   0,   0,   0,  32,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     15,   0,   0,   0,  83,  86, 
 -     95,  84,  65,  82,  71,  69, 
 -     84,   0, 171, 171,  83,  72, 
 -     68,  82, 192,   1,   0,   0, 
 -     64,   0,   0,   0, 112,   0, 
 -      0,   0,  90,   0,   0,   3, 
 -      0,  96,  16,   0,   0,   0, 
 -      0,   0,  90,   0,   0,   3, 
 -      0,  96,  16,   0,   1,   0, 
 -      0,   0,  88,  24,   0,   4, 
 -      0, 112,  16,   0,   0,   0, 
 -      0,   0,  85,  85,   0,   0, 
 -     88,  24,   0,   4,   0, 112, 
 -     16,   0,   1,   0,   0,   0, 
 -     85,  85,   0,   0,  98,  16, 
 -      0,   3,  50,  16,  16,   0, 
 -      1,   0,   0,   0,  98,  16, 
 -      0,   3, 242,  16,  16,   0, 
 -      2,   0,   0,   0, 101,   0, 
 -      0,   3, 242,  32,  16,   0, 
 -      0,   0,   0,   0, 104,   0, 
 -      0,   2,   3,   0,   0,   0, 
 -     69,   0,   0,   9, 242,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  16,  16,   0,   1,   0, 
 -      0,   0,  70, 126,  16,   0, 
 -      1,   0,   0,   0,   0,  96, 
 -     16,   0,   1,   0,   0,   0, 
 -     56,   0,   0,   7, 242,   0, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  14,  16,   0,   0,   0, 
 -      0,   0,   6,  16,  16,   0, 
 -      2,   0,   0,   0,  69,   0, 
 -      0,   9, 242,   0,  16,   0, 
 -      1,   0,   0,   0,  70,  16, 
 -     16,   0,   1,   0,   0,   0, 
 -     70, 126,  16,   0,   1,   0, 
 -      0,   0,   0,  96,  16,   0, 
 -      0,   0,   0,   0,  50,   0, 
 -      0,   9, 242,   0,  16,   0, 
 -      0,   0,   0,   0,  70,  14, 
 -     16,   0,   1,   0,   0,   0, 
 -    166,  26,  16,   0,   2,   0, 
 -      0,   0,  70,  14,  16,   0, 
 -      0,   0,   0,   0,  56,   0, 
 -      0,   7, 242,   0,  16,   0, 
 -      0,   0,   0,   0,  70,  14, 
 -     16,   0,   0,   0,   0,   0, 
 -     86,  21,  16,   0,   2,   0, 
 -      0,   0,  69,   0,   0,   9, 
 -    242,   0,  16,   0,   1,   0, 
 -      0,   0,  70,  16,  16,   0, 
 -      1,   0,   0,   0,  70, 126, 
 -     16,   0,   0,   0,   0,   0, 
 -      0,  96,  16,   0,   1,   0, 
 -      0,   0,  56,   0,   0,   7, 
 -    242,   0,  16,   0,   1,   0, 
 -      0,   0,  70,  14,  16,   0, 
 -      1,   0,   0,   0,   6,  16, 
 -     16,   0,   2,   0,   0,   0, 
 -     69,   0,   0,   9, 242,   0, 
 -     16,   0,   2,   0,   0,   0, 
 -     70,  16,  16,   0,   1,   0, 
 -      0,   0,  70, 126,  16,   0, 
 -      0,   0,   0,   0,   0,  96, 
 -     16,   0,   0,   0,   0,   0, 
 -     50,   0,   0,   9, 242,   0, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,  14,  16,   0,   2,   0, 
 -      0,   0, 166,  26,  16,   0, 
 -      2,   0,   0,   0,  70,  14, 
 -     16,   0,   1,   0,   0,   0, 
 -     50,   0,   0,   9, 242,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  14,  16,   0,   1,   0, 
 -      0,   0, 246,  31,  16,   0, 
 -      2,   0,   0,   0,  70,  14, 
 -     16,   0,   0,   0,   0,   0, 
 -     62,   0,   0,   1,  83,  84, 
 -     65,  84, 116,   0,   0,   0, 
 -     11,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   4,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11tex.hlsl.ps.h /Eps /Tps_4_0 d3d11tex.hlsl +// +// +// Resource Bindings: +// +// Name                                 Type  Format         Dim Slot Elements +// ------------------------------ ---------- ------- ----------- ---- -------- +// samp0                             sampler      NA          NA    0        1 +// samp1                             sampler      NA          NA    1        1 +// tex0                              texture  float4          2d    0        1 +// tex1                              texture  float4          2d    1        1 +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float        +// TEXCOORD                 0   xy          1     NONE  float   xy   +// FACTORS                  0   xyzw        2     NONE  float   xyzw +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_TARGET                0   xyzw        0   TARGET  float   xyzw +// +ps_4_0 +dcl_sampler s0, mode_default +dcl_sampler s1, mode_default +dcl_resource_texture2d (float,float,float,float) t0 +dcl_resource_texture2d (float,float,float,float) t1 +dcl_input_ps linear v1.xy +dcl_input_ps linear v2.xyzw +dcl_output o0.xyzw +dcl_temps 3 +sample r0.xyzw, v1.xyxx, t1.xyzw, s1 +mul r0.xyzw, r0.xyzw, v2.xxxx +sample r1.xyzw, v1.xyxx, t1.xyzw, s0 +mad r0.xyzw, r1.xyzw, v2.zzzz, r0.xyzw +mul r0.xyzw, r0.xyzw, v2.yyyy +sample r1.xyzw, v1.xyxx, t0.xyzw, s1 +mul r1.xyzw, r1.xyzw, v2.xxxx +sample r2.xyzw, v1.xyxx, t0.xyzw, s0 +mad r1.xyzw, r2.xyzw, v2.zzzz, r1.xyzw +mad o0.xyzw, r1.xyzw, v2.wwww, r0.xyzw +ret  +// Approximately 11 instruction slots used +#endif + +const BYTE g_ps[] = +{ +     68,  88,  66,  67, 139, 203,  +    114,  37, 104, 101, 201,  12,  +    197, 147, 116,  98,  80, 214,  +    173, 207,   1,   0,   0,   0,  +     16,   4,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +     32,   1,   0,   0, 152,   1,  +      0,   0, 204,   1,   0,   0,  +    148,   3,   0,   0,  82,  68,  +     69,  70, 228,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   4,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    255, 255,   0,   1,   0,   0,  +    178,   0,   0,   0, 156,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +    162,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      1,   0,   0,   0,   0,   0,  +      0,   0, 168,   0,   0,   0,  +      2,   0,   0,   0,   5,   0,  +      0,   0,   4,   0,   0,   0,  +    255, 255, 255, 255,   0,   0,  +      0,   0,   1,   0,   0,   0,  +     12,   0,   0,   0, 173,   0,  +      0,   0,   2,   0,   0,   0,  +      5,   0,   0,   0,   4,   0,  +      0,   0, 255, 255, 255, 255,  +      1,   0,   0,   0,   1,   0,  +      0,   0,  12,   0,   0,   0,  +    115,  97, 109, 112,  48,   0,  +    115,  97, 109, 112,  49,   0,  +    116, 101, 120,  48,   0, 116,  +    101, 120,  49,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +     73,  83,  71,  78, 112,   0,  +      0,   0,   3,   0,   0,   0,  +      8,   0,   0,   0,  80,   0,  +      0,   0,   0,   0,   0,   0,  +      1,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +     15,   0,   0,   0,  92,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   1,   0,   0,   0,  +      3,   3,   0,   0, 101,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   2,   0,   0,   0,  +     15,  15,   0,   0,  83,  86,  +     95,  80,  79,  83,  73,  84,  +     73,  79,  78,   0,  84,  69,  +     88,  67,  79,  79,  82,  68,  +      0,  70,  65,  67,  84,  79,  +     82,  83,   0, 171, 171, 171,  +     79,  83,  71,  78,  44,   0,  +      0,   0,   1,   0,   0,   0,  +      8,   0,   0,   0,  32,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +     15,   0,   0,   0,  83,  86,  +     95,  84,  65,  82,  71,  69,  +     84,   0, 171, 171,  83,  72,  +     68,  82, 192,   1,   0,   0,  +     64,   0,   0,   0, 112,   0,  +      0,   0,  90,   0,   0,   3,  +      0,  96,  16,   0,   0,   0,  +      0,   0,  90,   0,   0,   3,  +      0,  96,  16,   0,   1,   0,  +      0,   0,  88,  24,   0,   4,  +      0, 112,  16,   0,   0,   0,  +      0,   0,  85,  85,   0,   0,  +     88,  24,   0,   4,   0, 112,  +     16,   0,   1,   0,   0,   0,  +     85,  85,   0,   0,  98,  16,  +      0,   3,  50,  16,  16,   0,  +      1,   0,   0,   0,  98,  16,  +      0,   3, 242,  16,  16,   0,  +      2,   0,   0,   0, 101,   0,  +      0,   3, 242,  32,  16,   0,  +      0,   0,   0,   0, 104,   0,  +      0,   2,   3,   0,   0,   0,  +     69,   0,   0,   9, 242,   0,  +     16,   0,   0,   0,   0,   0,  +     70,  16,  16,   0,   1,   0,  +      0,   0,  70, 126,  16,   0,  +      1,   0,   0,   0,   0,  96,  +     16,   0,   1,   0,   0,   0,  +     56,   0,   0,   7, 242,   0,  +     16,   0,   0,   0,   0,   0,  +     70,  14,  16,   0,   0,   0,  +      0,   0,   6,  16,  16,   0,  +      2,   0,   0,   0,  69,   0,  +      0,   9, 242,   0,  16,   0,  +      1,   0,   0,   0,  70,  16,  +     16,   0,   1,   0,   0,   0,  +     70, 126,  16,   0,   1,   0,  +      0,   0,   0,  96,  16,   0,  +      0,   0,   0,   0,  50,   0,  +      0,   9, 242,   0,  16,   0,  +      0,   0,   0,   0,  70,  14,  +     16,   0,   1,   0,   0,   0,  +    166,  26,  16,   0,   2,   0,  +      0,   0,  70,  14,  16,   0,  +      0,   0,   0,   0,  56,   0,  +      0,   7, 242,   0,  16,   0,  +      0,   0,   0,   0,  70,  14,  +     16,   0,   0,   0,   0,   0,  +     86,  21,  16,   0,   2,   0,  +      0,   0,  69,   0,   0,   9,  +    242,   0,  16,   0,   1,   0,  +      0,   0,  70,  16,  16,   0,  +      1,   0,   0,   0,  70, 126,  +     16,   0,   0,   0,   0,   0,  +      0,  96,  16,   0,   1,   0,  +      0,   0,  56,   0,   0,   7,  +    242,   0,  16,   0,   1,   0,  +      0,   0,  70,  14,  16,   0,  +      1,   0,   0,   0,   6,  16,  +     16,   0,   2,   0,   0,   0,  +     69,   0,   0,   9, 242,   0,  +     16,   0,   2,   0,   0,   0,  +     70,  16,  16,   0,   1,   0,  +      0,   0,  70, 126,  16,   0,  +      0,   0,   0,   0,   0,  96,  +     16,   0,   0,   0,   0,   0,  +     50,   0,   0,   9, 242,   0,  +     16,   0,   1,   0,   0,   0,  +     70,  14,  16,   0,   2,   0,  +      0,   0, 166,  26,  16,   0,  +      2,   0,   0,   0,  70,  14,  +     16,   0,   1,   0,   0,   0,  +     50,   0,   0,   9, 242,  32,  +     16,   0,   0,   0,   0,   0,  +     70,  14,  16,   0,   1,   0,  +      0,   0, 246,  31,  16,   0,  +      2,   0,   0,   0,  70,  14,  +     16,   0,   0,   0,   0,   0,  +     62,   0,   0,   1,  83,  84,  +     65,  84, 116,   0,   0,   0,  +     11,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   4,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.hlsl.vs.h b/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.hlsl.vs.h index 0e3ebcd66d..3aae79441a 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.hlsl.vs.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11tex/d3d11tex.hlsl.vs.h @@ -1,153 +1,153 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11tex.hlsl.vs.h /Evs /Tvs_4_0 d3d11tex.hlsl
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyzw        0     NONE  float   xyzw
 -// TEXCOORD                 0   xy          1     NONE  float   xy  
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float   xyzw
 -// TEXCOORD                 0   xy          1     NONE  float   xy  
 -// FACTORS                  0   xyzw        2     NONE  float   xyzw
 -//
 -vs_4_0
 -dcl_input v0.xyzw
 -dcl_input v1.xy
 -dcl_output_siv o0.xyzw, position
 -dcl_output o1.xy
 -dcl_output o2.xyzw
 -mov o0.xyzw, v0.xyzw
 -mul o1.xy, v1.xyxx, l(8.000000, 8.000000, 0.000000, 0.000000)
 -mad o2.xyzw, v1.xyxy, l(1.000000, 1.000000, -1.000000, -1.000000), l(0.000000, 0.000000, 1.000000, 1.000000)
 -ret 
 -// Approximately 4 instruction slots used
 -#endif
 -
 -const BYTE g_vs[] =
 -{
 -     68,  88,  66,  67, 129, 141, 
 -     49,   0,  46, 132,  26,  20, 
 -     64,  38, 200,  86, 119, 202, 
 -    172, 121,   1,   0,   0,   0, 
 -    160,   2,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    140,   0,   0,   0, 224,   0, 
 -      0,   0,  88,   1,   0,   0, 
 -     36,   2,   0,   0,  82,  68, 
 -     69,  70,  80,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    254, 255,   0,   1,   0,   0, 
 -     28,   0,   0,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -    171, 171,  73,  83,  71,  78, 
 -     76,   0,   0,   0,   2,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,  15,   0,   0, 
 -     65,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,   3,   3,   0,   0, 
 -     80,  79,  83,  73,  84,  73, 
 -     79,  78,   0,  84,  69,  88, 
 -     67,  79,  79,  82,  68,   0, 
 -    171, 171,  79,  83,  71,  78, 
 -    112,   0,   0,   0,   3,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     80,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     92,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,   3,  12,   0,   0, 
 -    101,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   2,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     83,  86,  95,  80,  79,  83, 
 -     73,  84,  73,  79,  78,   0, 
 -     84,  69,  88,  67,  79,  79, 
 -     82,  68,   0,  70,  65,  67, 
 -     84,  79,  82,  83,   0, 171, 
 -    171, 171,  83,  72,  68,  82, 
 -    196,   0,   0,   0,  64,   0, 
 -      1,   0,  49,   0,   0,   0, 
 -     95,   0,   0,   3, 242,  16, 
 -     16,   0,   0,   0,   0,   0, 
 -     95,   0,   0,   3,  50,  16, 
 -     16,   0,   1,   0,   0,   0, 
 -    103,   0,   0,   4, 242,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -      1,   0,   0,   0, 101,   0, 
 -      0,   3,  50,  32,  16,   0, 
 -      1,   0,   0,   0, 101,   0, 
 -      0,   3, 242,  32,  16,   0, 
 -      2,   0,   0,   0,  54,   0, 
 -      0,   5, 242,  32,  16,   0, 
 -      0,   0,   0,   0,  70,  30, 
 -     16,   0,   0,   0,   0,   0, 
 -     56,   0,   0,  10,  50,  32, 
 -     16,   0,   1,   0,   0,   0, 
 -     70,  16,  16,   0,   1,   0, 
 -      0,   0,   2,  64,   0,   0, 
 -      0,   0,   0,  65,   0,   0, 
 -      0,  65,   0,   0,   0,   0, 
 -      0,   0,   0,   0,  50,   0, 
 -      0,  15, 242,  32,  16,   0, 
 -      2,   0,   0,   0,  70,  20, 
 -     16,   0,   1,   0,   0,   0, 
 -      2,  64,   0,   0,   0,   0, 
 -    128,  63,   0,   0, 128,  63, 
 -      0,   0, 128, 191,   0,   0, 
 -    128, 191,   2,  64,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0, 128,  63, 
 -      0,   0, 128,  63,  62,   0, 
 -      0,   1,  83,  84,  65,  84, 
 -    116,   0,   0,   0,   4,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   5,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11tex.hlsl.vs.h /Evs /Tvs_4_0 d3d11tex.hlsl +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyzw        0     NONE  float   xyzw +// TEXCOORD                 0   xy          1     NONE  float   xy   +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float   xyzw +// TEXCOORD                 0   xy          1     NONE  float   xy   +// FACTORS                  0   xyzw        2     NONE  float   xyzw +// +vs_4_0 +dcl_input v0.xyzw +dcl_input v1.xy +dcl_output_siv o0.xyzw, position +dcl_output o1.xy +dcl_output o2.xyzw +mov o0.xyzw, v0.xyzw +mul o1.xy, v1.xyxx, l(8.000000, 8.000000, 0.000000, 0.000000) +mad o2.xyzw, v1.xyxy, l(1.000000, 1.000000, -1.000000, -1.000000), l(0.000000, 0.000000, 1.000000, 1.000000) +ret  +// Approximately 4 instruction slots used +#endif + +const BYTE g_vs[] = +{ +     68,  88,  66,  67, 129, 141,  +     49,   0,  46, 132,  26,  20,  +     64,  38, 200,  86, 119, 202,  +    172, 121,   1,   0,   0,   0,  +    160,   2,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    140,   0,   0,   0, 224,   0,  +      0,   0,  88,   1,   0,   0,  +     36,   2,   0,   0,  82,  68,  +     69,  70,  80,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    254, 255,   0,   1,   0,   0,  +     28,   0,   0,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +    171, 171,  73,  83,  71,  78,  +     76,   0,   0,   0,   2,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,  15,   0,   0,  +     65,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,   3,   3,   0,   0,  +     80,  79,  83,  73,  84,  73,  +     79,  78,   0,  84,  69,  88,  +     67,  79,  79,  82,  68,   0,  +    171, 171,  79,  83,  71,  78,  +    112,   0,   0,   0,   3,   0,  +      0,   0,   8,   0,   0,   0,  +     80,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +     92,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,   3,  12,   0,   0,  +    101,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   2,   0,  +      0,   0,  15,   0,   0,   0,  +     83,  86,  95,  80,  79,  83,  +     73,  84,  73,  79,  78,   0,  +     84,  69,  88,  67,  79,  79,  +     82,  68,   0,  70,  65,  67,  +     84,  79,  82,  83,   0, 171,  +    171, 171,  83,  72,  68,  82,  +    196,   0,   0,   0,  64,   0,  +      1,   0,  49,   0,   0,   0,  +     95,   0,   0,   3, 242,  16,  +     16,   0,   0,   0,   0,   0,  +     95,   0,   0,   3,  50,  16,  +     16,   0,   1,   0,   0,   0,  +    103,   0,   0,   4, 242,  32,  +     16,   0,   0,   0,   0,   0,  +      1,   0,   0,   0, 101,   0,  +      0,   3,  50,  32,  16,   0,  +      1,   0,   0,   0, 101,   0,  +      0,   3, 242,  32,  16,   0,  +      2,   0,   0,   0,  54,   0,  +      0,   5, 242,  32,  16,   0,  +      0,   0,   0,   0,  70,  30,  +     16,   0,   0,   0,   0,   0,  +     56,   0,   0,  10,  50,  32,  +     16,   0,   1,   0,   0,   0,  +     70,  16,  16,   0,   1,   0,  +      0,   0,   2,  64,   0,   0,  +      0,   0,   0,  65,   0,   0,  +      0,  65,   0,   0,   0,   0,  +      0,   0,   0,   0,  50,   0,  +      0,  15, 242,  32,  16,   0,  +      2,   0,   0,   0,  70,  20,  +     16,   0,   1,   0,   0,   0,  +      2,  64,   0,   0,   0,   0,  +    128,  63,   0,   0, 128,  63,  +      0,   0, 128, 191,   0,   0,  +    128, 191,   2,  64,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0, 128,  63,  +      0,   0, 128,  63,  62,   0,  +      0,   1,  83,  84,  65,  84,  +    116,   0,   0,   0,   4,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   5,   0,  +      0,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.cpp b/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.cpp index 30c2ffa5cc..524b7d1c01 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.cpp +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.cpp @@ -1,120 +1,120 @@ -/**************************************************************************
 - *
 - * Copyright 2010 Luca Barbieri
 - *
 - * Permission is hereby granted, free of charge, to any person obtaining
 - * a copy of this software and associated documentation files (the
 - * "Software"), to deal in the Software without restriction, including
 - * without limitation the rights to use, copy, modify, merge, publish,
 - * distribute, sublicense, and/or sell copies of the Software, and to
 - * permit persons to whom the Software is furnished to do so, subject to
 - * the following conditions:
 - *
 - * The above copyright notice and this permission notice (including the
 - * next paragraph) shall be included in all copies or substantial
 - * portions of the Software.
 - *
 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 - * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 - *
 - **************************************************************************/
 -
 -#include "d3d11app.h"
 -#include "d3d11tri.hlsl.ps.h"
 -#include "d3d11tri.hlsl.vs.h"
 -
 -struct vertex {
 - float position[4];
 - float color[4];
 -};
 -
 -static struct vertex vertices[3] =
 -{
 - {
 -	 { 0.0f, 0.9f, 0.5f, 1.0f },
 -	 { 1.0f, 0.0f, 0.0f, 1.0f }
 - },
 - {
 -	 { 0.9f, -0.9f, 0.5f, 1.0f },
 -	 { 0.0f, 0.0f, 1.0f, 1.0f }
 - },
 - {
 -	 { -0.9f, -0.9f, 0.5f, 1.0f },
 -	 { 0.0f, 1.0f, 0.0f, 1.0f }
 - },
 -};
 -
 -struct d3d11tri : public d3d11_application
 -{
 -	ID3D11PixelShader* ps;
 -	ID3D11VertexShader* vs;
 -	ID3D11InputLayout* layout;
 -	ID3D11Buffer* vb;
 -
 -	virtual bool init(ID3D11Device* dev, int argc, char** argv)
 -	{
 -		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), NULL, &ps));
 -		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), NULL, &vs));
 -
 -		D3D11_INPUT_ELEMENT_DESC elements[] =
 -		{
 -			// inverse order to make sure the implementation can properly parse the vertex shader signature
 -			{"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 16, D3D11_INPUT_PER_VERTEX_DATA, 0},
 -			{"POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0},
 -		};
 -
 -		ensure(dev->CreateInputLayout(elements, sizeof(elements) / sizeof(elements[0]), g_vs, sizeof(g_vs), &layout));
 -		D3D11_BUFFER_DESC bufferd;
 -		bufferd.ByteWidth = sizeof(vertices);
 -		bufferd.Usage = D3D11_USAGE_IMMUTABLE;
 -		bufferd.BindFlags = D3D11_BIND_VERTEX_BUFFER;
 -		bufferd.CPUAccessFlags = 0;
 -		bufferd.MiscFlags = 0;
 -		bufferd.StructureByteStride = 0;
 -
 -		D3D11_SUBRESOURCE_DATA buffersd;
 -		buffersd.pSysMem = vertices;
 -		buffersd.SysMemPitch = sizeof(vertices);
 -		buffersd.SysMemSlicePitch = sizeof(vertices);
 -
 -		ensure(dev->CreateBuffer(&bufferd, &buffersd, &vb));
 -
 -		return true;
 -	}
 -
 -	virtual void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time)
 -	{
 -		float clear_color[4] = {1, 0, 1, 1};
 -		D3D11_VIEWPORT vp;
 -		memset(&vp, 0, sizeof(vp));
 -		vp.Width = (float)width;
 -		vp.Height = (float)height;
 -		vp.MaxDepth = 1.0f;
 -
 -		ctx->OMSetRenderTargets(1, &rtv, 0);
 -		ctx->RSSetViewports(1, &vp);
 -
 -		ctx->ClearRenderTargetView(rtv, clear_color);
 -
 -		ctx->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
 -		ctx->IASetInputLayout(layout);
 -		unsigned stride = 2 * 4 * 4;
 -		unsigned offset = 0;
 -		ctx->IASetVertexBuffers(0, 1, &vb, &stride, &offset);
 -
 -		ctx->VSSetShader(vs, NULL, 0);
 -		ctx->PSSetShader(ps, NULL, 0);	
 -
 -		ctx->Draw(3, 0);
 -	}
 -};
 -
 -d3d11_application* d3d11_application_create()
 -{
 -	return new d3d11tri();
 -}
 +/************************************************************************** + * + * Copyright 2010 Luca Barbieri + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#include "d3d11app.h" +#include "d3d11tri.hlsl.ps.h" +#include "d3d11tri.hlsl.vs.h" + +struct vertex { + float position[4]; + float color[4]; +}; + +static struct vertex vertices[3] = +{ + { +	 { 0.0f, 0.9f, 0.5f, 1.0f }, +	 { 1.0f, 0.0f, 0.0f, 1.0f } + }, + { +	 { 0.9f, -0.9f, 0.5f, 1.0f }, +	 { 0.0f, 0.0f, 1.0f, 1.0f } + }, + { +	 { -0.9f, -0.9f, 0.5f, 1.0f }, +	 { 0.0f, 1.0f, 0.0f, 1.0f } + }, +}; + +struct d3d11tri : public d3d11_application +{ +	ID3D11PixelShader* ps; +	ID3D11VertexShader* vs; +	ID3D11InputLayout* layout; +	ID3D11Buffer* vb; + +	virtual bool init(ID3D11Device* dev, int argc, char** argv) +	{ +		ensure(dev->CreatePixelShader(g_ps, sizeof(g_ps), NULL, &ps)); +		ensure(dev->CreateVertexShader(g_vs, sizeof(g_vs), NULL, &vs)); + +		D3D11_INPUT_ELEMENT_DESC elements[] = +		{ +			// inverse order to make sure the implementation can properly parse the vertex shader signature +			{"COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 16, D3D11_INPUT_PER_VERTEX_DATA, 0}, +			{"POSITION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0}, +		}; + +		ensure(dev->CreateInputLayout(elements, sizeof(elements) / sizeof(elements[0]), g_vs, sizeof(g_vs), &layout)); +		D3D11_BUFFER_DESC bufferd; +		bufferd.ByteWidth = sizeof(vertices); +		bufferd.Usage = D3D11_USAGE_IMMUTABLE; +		bufferd.BindFlags = D3D11_BIND_VERTEX_BUFFER; +		bufferd.CPUAccessFlags = 0; +		bufferd.MiscFlags = 0; +		bufferd.StructureByteStride = 0; + +		D3D11_SUBRESOURCE_DATA buffersd; +		buffersd.pSysMem = vertices; +		buffersd.SysMemPitch = sizeof(vertices); +		buffersd.SysMemSlicePitch = sizeof(vertices); + +		ensure(dev->CreateBuffer(&bufferd, &buffersd, &vb)); + +		return true; +	} + +	virtual void draw(ID3D11DeviceContext* ctx, ID3D11RenderTargetView* rtv, unsigned width, unsigned height, double time) +	{ +		float clear_color[4] = {1, 0, 1, 1}; +		D3D11_VIEWPORT vp; +		memset(&vp, 0, sizeof(vp)); +		vp.Width = (float)width; +		vp.Height = (float)height; +		vp.MaxDepth = 1.0f; + +		ctx->OMSetRenderTargets(1, &rtv, 0); +		ctx->RSSetViewports(1, &vp); + +		ctx->ClearRenderTargetView(rtv, clear_color); + +		ctx->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); +		ctx->IASetInputLayout(layout); +		unsigned stride = 2 * 4 * 4; +		unsigned offset = 0; +		ctx->IASetVertexBuffers(0, 1, &vb, &stride, &offset); + +		ctx->VSSetShader(vs, NULL, 0); +		ctx->PSSetShader(ps, NULL, 0);	 + +		ctx->Draw(3, 0); +	} +}; + +d3d11_application* d3d11_application_create() +{ +	return new d3d11tri(); +} diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.hlsl.ps.h b/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.hlsl.ps.h index 21f6141f38..68eaee5cb2 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.hlsl.ps.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.hlsl.ps.h @@ -1,112 +1,112 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11tri.hlsl.ps.h /Eps /Tps_4_0 d3d11tri.hlsl
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float       
 -// COLOR                    0   xyzw        1     NONE  float   xyzw
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_TARGET                0   xyzw        0   TARGET  float   xyzw
 -//
 -ps_4_0
 -dcl_input_ps linear v1.xyzw
 -dcl_output o0.xyzw
 -mov o0.xyzw, v1.xyzw
 -ret 
 -// Approximately 2 instruction slots used
 -#endif
 -
 -const BYTE g_ps[] =
 -{
 -     68,  88,  66,  67, 206, 120, 
 -    117, 238, 118, 127,  10,  87, 
 -     80,  75, 114, 198,  95,   2, 
 -    120, 102,   1,   0,   0,   0, 
 -    208,   1,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    140,   0,   0,   0, 224,   0, 
 -      0,   0,  20,   1,   0,   0, 
 -     84,   1,   0,   0,  82,  68, 
 -     69,  70,  80,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    255, 255,   0,   1,   0,   0, 
 -     28,   0,   0,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -    171, 171,  73,  83,  71,  78, 
 -     76,   0,   0,   0,   2,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     68,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,  15,  15,   0,   0, 
 -     83,  86,  95,  80,  79,  83, 
 -     73,  84,  73,  79,  78,   0, 
 -     67,  79,  76,  79,  82,   0, 
 -    171, 171,  79,  83,  71,  78, 
 -     44,   0,   0,   0,   1,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     32,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,   0,   0,   0, 
 -     83,  86,  95,  84,  65,  82, 
 -     71,  69,  84,   0, 171, 171, 
 -     83,  72,  68,  82,  56,   0, 
 -      0,   0,  64,   0,   0,   0, 
 -     14,   0,   0,   0,  98,  16, 
 -      0,   3, 242,  16,  16,   0, 
 -      1,   0,   0,   0, 101,   0, 
 -      0,   3, 242,  32,  16,   0, 
 -      0,   0,   0,   0,  54,   0, 
 -      0,   5, 242,  32,  16,   0, 
 -      0,   0,   0,   0,  70,  30, 
 -     16,   0,   1,   0,   0,   0, 
 -     62,   0,   0,   1,  83,  84, 
 -     65,  84, 116,   0,   0,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      2,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11tri.hlsl.ps.h /Eps /Tps_4_0 d3d11tri.hlsl +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float        +// COLOR                    0   xyzw        1     NONE  float   xyzw +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_TARGET                0   xyzw        0   TARGET  float   xyzw +// +ps_4_0 +dcl_input_ps linear v1.xyzw +dcl_output o0.xyzw +mov o0.xyzw, v1.xyzw +ret  +// Approximately 2 instruction slots used +#endif + +const BYTE g_ps[] = +{ +     68,  88,  66,  67, 206, 120,  +    117, 238, 118, 127,  10,  87,  +     80,  75, 114, 198,  95,   2,  +    120, 102,   1,   0,   0,   0,  +    208,   1,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    140,   0,   0,   0, 224,   0,  +      0,   0,  20,   1,   0,   0,  +     84,   1,   0,   0,  82,  68,  +     69,  70,  80,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    255, 255,   0,   1,   0,   0,  +     28,   0,   0,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +    171, 171,  73,  83,  71,  78,  +     76,   0,   0,   0,   2,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +     68,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,  15,  15,   0,   0,  +     83,  86,  95,  80,  79,  83,  +     73,  84,  73,  79,  78,   0,  +     67,  79,  76,  79,  82,   0,  +    171, 171,  79,  83,  71,  78,  +     44,   0,   0,   0,   1,   0,  +      0,   0,   8,   0,   0,   0,  +     32,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,   0,   0,   0,  +     83,  86,  95,  84,  65,  82,  +     71,  69,  84,   0, 171, 171,  +     83,  72,  68,  82,  56,   0,  +      0,   0,  64,   0,   0,   0,  +     14,   0,   0,   0,  98,  16,  +      0,   3, 242,  16,  16,   0,  +      1,   0,   0,   0, 101,   0,  +      0,   3, 242,  32,  16,   0,  +      0,   0,   0,   0,  54,   0,  +      0,   5, 242,  32,  16,   0,  +      0,   0,   0,   0,  70,  30,  +     16,   0,   1,   0,   0,   0,  +     62,   0,   0,   1,  83,  84,  +     65,  84, 116,   0,   0,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      2,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0 +}; diff --git a/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.hlsl.vs.h b/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.hlsl.vs.h index edf18e01f7..43e2a18275 100755 --- a/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.hlsl.vs.h +++ b/src/gallium/state_trackers/d3d1x/progs/d3d11tri/d3d11tri.hlsl.vs.h @@ -1,128 +1,128 @@ -#if 0
 -//
 -// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
 -//
 -//
 -//   fxc /Fhd3d11tri.hlsl.vs.h /Evs /Tvs_4_0 d3d11tri.hlsl
 -//
 -//
 -//
 -// Input signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// POSITION                 0   xyzw        0     NONE  float   xyzw
 -// COLOR                    0   xyzw        1     NONE  float   xyzw
 -//
 -//
 -// Output signature:
 -//
 -// Name                 Index   Mask Register SysValue Format   Used
 -// -------------------- ----- ------ -------- -------- ------ ------
 -// SV_POSITION              0   xyzw        0      POS  float   xyzw
 -// COLOR                    0   xyzw        1     NONE  float   xyzw
 -//
 -vs_4_0
 -dcl_input v0.xyzw
 -dcl_input v1.xyzw
 -dcl_output_siv o0.xyzw, position
 -dcl_output o1.xyzw
 -mov o0.xyzw, v0.xyzw
 -mov o1.xyzw, v1.xyzw
 -ret 
 -// Approximately 3 instruction slots used
 -#endif
 -
 -const BYTE g_vs[] =
 -{
 -     68,  88,  66,  67, 190, 171, 
 -    186,  20,  44, 105,  95, 129, 
 -    137, 204, 223,  72, 251, 159, 
 -    126, 176,   1,   0,   0,   0, 
 -     28,   2,   0,   0,   5,   0, 
 -      0,   0,  52,   0,   0,   0, 
 -    140,   0,   0,   0, 220,   0, 
 -      0,   0,  48,   1,   0,   0, 
 -    160,   1,   0,   0,  82,  68, 
 -     69,  70,  80,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -     28,   0,   0,   0,   0,   4, 
 -    254, 255,   0,   1,   0,   0, 
 -     28,   0,   0,   0,  77, 105, 
 -     99, 114, 111, 115, 111, 102, 
 -    116,  32,  40,  82,  41,  32, 
 -     72,  76,  83,  76,  32,  83, 
 -    104,  97, 100, 101, 114,  32, 
 -     67, 111, 109, 112, 105, 108, 
 -    101, 114,  32,  57,  46,  50, 
 -     57,  46,  57,  53,  50,  46, 
 -     51,  49,  49,  49,   0, 171, 
 -    171, 171,  73,  83,  71,  78, 
 -     72,   0,   0,   0,   2,   0, 
 -      0,   0,   8,   0,   0,   0, 
 -     56,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   0,   0, 
 -      0,   0,  15,  15,   0,   0, 
 -     65,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      3,   0,   0,   0,   1,   0, 
 -      0,   0,  15,  15,   0,   0, 
 -     80,  79,  83,  73,  84,  73, 
 -     79,  78,   0,  67,  79,  76, 
 -     79,  82,   0, 171,  79,  83, 
 -     71,  78,  76,   0,   0,   0, 
 -      2,   0,   0,   0,   8,   0, 
 -      0,   0,  56,   0,   0,   0, 
 -      0,   0,   0,   0,   1,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      0,   0,   0,   0,  15,   0, 
 -      0,   0,  68,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   3,   0,   0,   0, 
 -      1,   0,   0,   0,  15,   0, 
 -      0,   0,  83,  86,  95,  80, 
 -     79,  83,  73,  84,  73,  79, 
 -     78,   0,  67,  79,  76,  79, 
 -     82,   0, 171, 171,  83,  72, 
 -     68,  82, 104,   0,   0,   0, 
 -     64,   0,   1,   0,  26,   0, 
 -      0,   0,  95,   0,   0,   3, 
 -    242,  16,  16,   0,   0,   0, 
 -      0,   0,  95,   0,   0,   3, 
 -    242,  16,  16,   0,   1,   0, 
 -      0,   0, 103,   0,   0,   4, 
 -    242,  32,  16,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -    101,   0,   0,   3, 242,  32, 
 -     16,   0,   1,   0,   0,   0, 
 -     54,   0,   0,   5, 242,  32, 
 -     16,   0,   0,   0,   0,   0, 
 -     70,  30,  16,   0,   0,   0, 
 -      0,   0,  54,   0,   0,   5, 
 -    242,  32,  16,   0,   1,   0, 
 -      0,   0,  70,  30,  16,   0, 
 -      1,   0,   0,   0,  62,   0, 
 -      0,   1,  83,  84,  65,  84, 
 -    116,   0,   0,   0,   3,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   4,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   1,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   2,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0, 
 -      0,   0,   0,   0,   0,   0
 -};
 +#if 0 +// +// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 +// +// +//   fxc /Fhd3d11tri.hlsl.vs.h /Evs /Tvs_4_0 d3d11tri.hlsl +// +// +// +// Input signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// POSITION                 0   xyzw        0     NONE  float   xyzw +// COLOR                    0   xyzw        1     NONE  float   xyzw +// +// +// Output signature: +// +// Name                 Index   Mask Register SysValue Format   Used +// -------------------- ----- ------ -------- -------- ------ ------ +// SV_POSITION              0   xyzw        0      POS  float   xyzw +// COLOR                    0   xyzw        1     NONE  float   xyzw +// +vs_4_0 +dcl_input v0.xyzw +dcl_input v1.xyzw +dcl_output_siv o0.xyzw, position +dcl_output o1.xyzw +mov o0.xyzw, v0.xyzw +mov o1.xyzw, v1.xyzw +ret  +// Approximately 3 instruction slots used +#endif + +const BYTE g_vs[] = +{ +     68,  88,  66,  67, 190, 171,  +    186,  20,  44, 105,  95, 129,  +    137, 204, 223,  72, 251, 159,  +    126, 176,   1,   0,   0,   0,  +     28,   2,   0,   0,   5,   0,  +      0,   0,  52,   0,   0,   0,  +    140,   0,   0,   0, 220,   0,  +      0,   0,  48,   1,   0,   0,  +    160,   1,   0,   0,  82,  68,  +     69,  70,  80,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +     28,   0,   0,   0,   0,   4,  +    254, 255,   0,   1,   0,   0,  +     28,   0,   0,   0,  77, 105,  +     99, 114, 111, 115, 111, 102,  +    116,  32,  40,  82,  41,  32,  +     72,  76,  83,  76,  32,  83,  +    104,  97, 100, 101, 114,  32,  +     67, 111, 109, 112, 105, 108,  +    101, 114,  32,  57,  46,  50,  +     57,  46,  57,  53,  50,  46,  +     51,  49,  49,  49,   0, 171,  +    171, 171,  73,  83,  71,  78,  +     72,   0,   0,   0,   2,   0,  +      0,   0,   8,   0,   0,   0,  +     56,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   0,   0,  +      0,   0,  15,  15,   0,   0,  +     65,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      3,   0,   0,   0,   1,   0,  +      0,   0,  15,  15,   0,   0,  +     80,  79,  83,  73,  84,  73,  +     79,  78,   0,  67,  79,  76,  +     79,  82,   0, 171,  79,  83,  +     71,  78,  76,   0,   0,   0,  +      2,   0,   0,   0,   8,   0,  +      0,   0,  56,   0,   0,   0,  +      0,   0,   0,   0,   1,   0,  +      0,   0,   3,   0,   0,   0,  +      0,   0,   0,   0,  15,   0,  +      0,   0,  68,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   3,   0,   0,   0,  +      1,   0,   0,   0,  15,   0,  +      0,   0,  83,  86,  95,  80,  +     79,  83,  73,  84,  73,  79,  +     78,   0,  67,  79,  76,  79,  +     82,   0, 171, 171,  83,  72,  +     68,  82, 104,   0,   0,   0,  +     64,   0,   1,   0,  26,   0,  +      0,   0,  95,   0,   0,   3,  +    242,  16,  16,   0,   0,   0,  +      0,   0,  95,   0,   0,   3,  +    242,  16,  16,   0,   1,   0,  +      0,   0, 103,   0,   0,   4,  +    242,  32,  16,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +    101,   0,   0,   3, 242,  32,  +     16,   0,   1,   0,   0,   0,  +     54,   0,   0,   5, 242,  32,  +     16,   0,   0,   0,   0,   0,  +     70,  30,  16,   0,   0,   0,  +      0,   0,  54,   0,   0,   5,  +    242,  32,  16,   0,   1,   0,  +      0,   0,  70,  30,  16,   0,  +      1,   0,   0,   0,  62,   0,  +      0,   1,  83,  84,  65,  84,  +    116,   0,   0,   0,   3,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   4,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   1,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   2,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0,  +      0,   0,   0,   0,   0,   0 +};  | 
