/*
 * Direct3D9 vertex shaders
 * Copyright (c) 2003, TransGaming Technologies Inc.
 */

#include "config.h"

#include "winbase.h"
#include "d3d9.h"
#include "wine/debug.h"

#include "d3d9_private.h"

WINE_DEFAULT_DEBUG_CHANNEL(ddraw);

HRESULT WINAPI Direct3DDevice9_SetPixelShader(LPDIRECT3DDEVICE9 iface,
					      IDirect3DPixelShader9* pShader)
{
  /* ICOM_THIS(IDirect3DDevice9Impl, iface); */
  TRACE("(%p)->(%p)\n", iface, pShader);
  if (pShader) {
    FIXME("programmable pixel shaders not implemented\n");
    return D3DERR_INVALIDCALL;
  }
  return D3D_OK;
}

HRESULT WINAPI Direct3DDevice9_GetPixelShader(LPDIRECT3DDEVICE9 iface,
					      IDirect3DPixelShader9** ppShader)
{
  /* ICOM_THIS(IDirect3DDevice9Impl, iface); */
  TRACE("(%p)->(%p)\n", iface, ppShader);
  *ppShader = NULL;
  return D3D_OK;
}

HRESULT WINAPI Direct3DDevice9_CreatePixelShader(LPDIRECT3DDEVICE9 iface, 
                                                 CONST DWORD *pFunction,
                                                 IDirect3DPixelShader9** ppShader)
{
  /* ICOM_THIS(IDirect3DDevice9Impl, iface); */
  FIXME("(%p)->(%p,%p) - stub!\n", iface, pFunction, ppShader);
  *ppShader = NULL;
  return D3DERR_INVALIDCALL;
}

HRESULT WINAPI Direct3DDevice9_SetPixelShaderConstantF(LPDIRECT3DDEVICE9 iface,
						       UINT StartRegister,
						       CONST float* pConstantData,
						       UINT Vector4fCount)
{
  ICOM_THIS(IDirect3DDevice9Impl, iface);
  FIXME("(%p)->(%d,%p,%d): stub\n", iface, StartRegister, pConstantData, Vector4fCount);
  if (!pConstantData) return D3DERR_INVALIDCALL;
  return D3D_OK;
}
