MAMEWorld >> EmuChat
View all threads Index   Flat Mode Flat  

TafoidAdministrator
I keep on testing.. testing.. testing... into the future!
Reged: 04/19/06
Posts: 3135
Loc: USA
Send PM
HLSL MiniFAQ (Updated 11-14-2011)
05/25/11 10:01 PM


(NOTE by Mr. Do: Please post HLSL issues in a new thread. FAQ will be updated as needed)


HLSL_MiniFAQ by Tafoid (5-25-2011) - Updated (11-07-2013)
--------------------------------------------------------

In order to compile and use the HLSL features now available for MAME, there are a few things you need to know!


1. Compiling

1.1. Assure you have the very latest toolchain available from MAMEDEV.ORG.
http://mamedev.org/tools/

1.2. All files you need to compile are part of the toolchain, including the headers for the added DirectX usage.

1.3. Compiling is the same as has been for a long time now - simply type "MAKE" to create your executable. Use of ANY "ARCHOPTS" are strongly discouraged. Any crashes you might get when using any of those during your compile are no fault but your own!

1.4. The official full source and binary packages from MAMEDEV should include an "HLSL" folder. This folder in required to use any HLSL features and generally is best kept in the same place where your playable MAME.EXE resides.


2. Usage

2.1. The minimum requirements to be able to use this feature is that you have a video card/OS that:
A) Must have DirectX 9.0c installed from Microsoft.
B) Must have DirectX 9.0c compatible drivers installed.
There have been some instances regarding some NVIDIA cards where later MAME builds are causing a BSOD on the very latest drivers, even if not using HLSL. In this case, visit the link below to download an earlier driver:
http://www.nvidia.com/Download/Find.aspx?lang=en-us
C) Allows for the usage of Pixel Shader 3.0 functions.

2.2 Your performance is greatly enhanced by using graphics cards which contain more GPU memory and bandwidth. In cases for bare minimum usage (Geforce 6,7 Series, ATI Radeon R520/X1300–X1950, Intel GMA X3000 G965), you should expect that full screen HLSL shading effect will not be possible without severe frame-skipping. You can, however, run in a smaller window to allow many games to run at 100% with HLSL effects. Only by testing your particular setup can you find the optimum relation of size and performance.
If you want better performance for full-screen display and you aren't already using it, use the -switchres toggle which lowers your actual screen resolution resulting in less work that your card needs to do. For some, it makes a huge difference.

2.3 Triggered by: -hlsl_enable on the command-line or an entry in your MAME.ini: "hlsl_enable 1". This will allow you to use settings in your MAME.INI file or use the Slider Controls to adjust your own look. You can manually make .INI files, by using a driver name EG: "cps1.ini", as well as particular settings depending on monitor orientation EG: "vertical.ini" and "horizont.ini".

2.4. Assure, again, you have the HLSL folder (containing *.fx files) placed in the same folder as your MAME.EXE in the same way you have roms/samples/artwork, for example. Your binary provider should have this folder included in it's package.

2.5 Many pixel shader effects that have been created require small .png files much like the previous and still available effect.png files. MAME 0.143 onward includes these in your "artwork" folder.

2.6 If you are on Windows 7, running DirectX 10.0 or above, you may not have DirectX 9.0c installed on your system. DirectX 10 and above are known not to be backwards compatible in this instance. Even if you have DirectX 9.0c, you may be missing the SDK .DLL needed for this! If you are receiving an error mentioning such files as "dx9_43.dll" as missing, you need to install the DirectX End User Runtime SDK linked below.
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3


3. Settings

3.1. There is a document in the DOCS folder called HLSL.TXT which details what each new option does. This should be provided, again, by your binary provider.

3.2. While the HLSL format and commands have largely solidified, there may be additional changes are bugs are fixed and functionality is added. BE sure to check the latest interm (U) releases for any changes in HLSL core files (.fx) as well as any command or functionality change. If something does not look right where it did before, start with a fresh MAME.ini using MAME -createconfig and use that as a base to adjust settings.

3.4. You can sample some presets by using the -hlsl_preset command. Valid options are 0 to 3, 0 being very good to 3 which shows a very out of repair monitor

3.5. Support
Your questions would be best answered at this link below, where WIP discussion is accepted. Please make sure before you ask questions you have done everything detailed in this document to fix your issue. If the author himself cannot answer, there is usually someone in the know that can help.
PLEASE NOTE: The author it not always able to address issues brought up immediately due to real life constraints. Be patient and thankful, instead, for what you can do.
HLSL Discussion.

3.6. Known Limitations
Current bug with Vector Games not displaying their color overlays is present, even without use of HLSL: http://mametesters.org/view.php?id=5214

More added as needed. Have fun!







Entire thread
Subject Posted by Posted on
* HLSL MiniFAQ (Updated 11-14-2011) TafoidAdministrator 05/25/11 10:01 PM
. * New in 143u5 Zaghadka  09/07/11 10:13 PM

Extra information Permissions
Moderator:  Robbbert, Tafoid 
0 registered and 168 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 15345