Previous 199869 Revisions Next

r41778 Saturday 14th November, 2015 at 20:59:18 UTC by Jezze
Fixed missing shadow mask texture when enabling HLSL via shortcut keys

- fixed creation order of D3D and HLSL resources
[src/osd/modules/render]drawd3d.cpp
[src/osd/modules/render/d3d]d3dhlsl.cpp

trunk/src/osd/modules/render/d3d/d3dhlsl.cpp
r250289r250290
9797
9898shaders::~shaders()
9999{
100   options = NULL;
101
100102   cache_target *currcache = cachehead;
101103   while(cachehead != NULL)
102104   {
r250289r250290
412414   {
413415      if (initialized)
414416      {
417         // free shader resources before renderer resources
415418         delete_resources(false);
416419      }
420
417421      master_enable = !master_enable;
422
423      // free shader resources and re-create
424      d3d->device_delete_resources();
425      d3d->device_create_resources();
418426   }
419427   else
420428   {
429      master_enable = !master_enable;
430
431      // free shader resources and re-create
432      d3d->device_delete_resources();
433      d3d->device_create_resources();
434
421435      if (!initialized)
422436      {
423         master_enable = !master_enable;
437         // re-create shader resources after renderer resources
424438         bool failed = create_resources(false);
425439         if (failed)
426440         {
427441            master_enable = false;
428442         }
429443      }
430      else
431      {
432         master_enable = !master_enable;
433      }
434444   }
435445}
436446
r250289r250290
867877      texture.palette = NULL;
868878      texture.seqid = 0;
869879
870      // now create it (no prescale, but wrap)
880      // now create it (no prescale, but wrap)     
871881      shadow_texture = new texture_info(d3d->get_texture_manager(), &texture, 1, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA) | PRIMFLAG_TEXFORMAT(TEXFORMAT_ARGB32) | PRIMFLAG_TEXWRAP_MASK);
872882   }
873883
r250289r250290
19871997
19881998   initialized = false;
19891999
1990   options = NULL;
1991
19922000   cache_target *currcache = cachehead;
19932001   while(cachehead != NULL)
19942002   {
r250289r250290
21452153}
21462154
21472155
2148/*-------------------------------------------------
2149    slider_alloc - allocate a new slider entry
2150    currently duplicated from ui.c, this could
2151    be done in a more ideal way.
2152-------------------------------------------------*/
2156//============================================================
2157//  slider_alloc - allocate a new slider entry
2158//  currently duplicated from ui.c, this could
2159//  be done in a more ideal way.
2160//============================================================
21532161
21542162static slider_state *slider_alloc(running_machine &machine, const char *title, INT32 minval, INT32 defval, INT32 maxval, INT32 incval, slider_update update, void *arg)
21552163{
trunk/src/osd/modules/render/drawd3d.cpp
r250289r250290
621621   m_device = NULL;
622622   m_restarting = false;
623623   m_shaders = NULL;
624   m_shaders_options = NULL;
624625   m_numverts = 0;
625626   m_numpolys = 0;
626627   m_vertexbuf = NULL;
r250289r250290
655656   {
656657      m_shaders->toggle();
657658
658      // free all existing resources and re-create
659      device_delete_resources();
660      device_create_resources();
661
662659      m_restarting = false;
663660   }
664661


Previous 199869 Revisions Next


© 1997-2024 The MAME Team